VL18 - Tìm số đảo ngược

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Viết chương trình tìm số đảo ngược của 1 số nguyên dương ~n~ nhập từ bàn phím.

Giới hạn

  • ~ 0 \lt n \le 10^{1000} ~

Input

Số nguyên dương ~n~

Output

Số nguyên dương đảo ngược của số ~n~

Sample

Input #1
1234
Output #1
4321
Input #2
1320
Output #2
231

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    nguyenminhtuan11122  đã bình luận lúc 18, Tháng 4, 2024, 11:01

    ok số rất to nên là các bạn hãy sử dụng string nhé


  • -1
    tienphat2101  đã bình luận lúc 14, Tháng 3, 2024, 13:09

    Các bạn có thể tham khảo:

    include <bits/stdc++.h>

    using namespace std; int main(){ string n; getline(cin,n); reverse(n.begin(),n.end()); while(n[0]=='0'){ n.erase(n.begin()); } cout << n << endl; } Dùng chuỗi thôi vì số lớn lắm nhé! AC hết nha các bạn


  • 1
    tuilahieu  đã bình luận lúc 22, Tháng 2, 2024, 13:46

    code python 1 dòng

    print(input().lstrip("0")[::-1].lstrip("0"))
    

    • 0
      bahahahahhaahah  đã bình luận lúc 26, Tháng 3, 2024, 6:44

      giải thích tui với đc khong b


  • -1
    stonerduy  đã bình luận lúc 22, Tháng 2, 2024, 9:38

    include<algorithm>

    using namespace std; int main()

    ! { string n,s;int i; cin>>n; reverse(n.begin(),n.end()); while (n[0]=='0') n.erase(0,1); cout<<n; return 0; }


  • 0
    enoeul03  đã bình luận lúc 21, Tháng 2, 2024, 12:35

    include<bits/stdc++.h>

    using namespace std;

    int main(){ string n; cin >> n; int i = n.size()-1; // co the dung cin thay getline vi for(;i >= 0;i--){ if(n[i] != '0'){ break; } } for(;i >= 0;i--){ cout << n[i]; } }


  • 0
    thinhec12012007__  đã bình luận lúc 12, Tháng 2, 2024, 14:50

    Mọi người tham khảo nha:

    include <bits/stdc++.h>

    using namespace std; string s; int main() { iosbase::syncwith_stdio(false); cin.tie();cout.tie(); long long tam; cin>>s; long long r=s.length()-1; for(long long i=r;i>=0;i--) { if(s[i]!='0') {tam=i;break;} } for(long long i=tam;i>=0;i--) { cout<<s[i]; } return 0; }


  • 0
    Kiu  đã bình luận lúc 8, Tháng 2, 2024, 13:07

    using System;

    public class Program { static void Main(string[] args) { string input = Console.ReadLine(); string firstinput = clearzero(input); string secondinput = reversed(firstinput); string threeinput = clearzero(secondinput); Console.WriteLine(threeinput);

    }
    
    static string reversed(string input)
    {
        char[] numberCharacters = input.ToCharArray();
        int left = 0;
        int right = numberCharacters.Length - 1;
        while (left < right)
        {
            char temp = numberCharacters[left];
            numberCharacters[left] = numberCharacters[right];
            numberCharacters[right] = temp;
            left++;
            right--;
        }
        string reversedString = new string(numberCharacters);
        return reversedString;
    }
    static string clearzero ( string input)
    {
        char[] numberCharacters = input.ToCharArray();
        int left = 0;
        int right = numberCharacters.Length - 1;
        while (numberCharacters[left] == '0')
        {
            left++;
        }
        // Tạo chuỗi mới từ vị trí đầu tiên đến cuối chuỗi
        char[] newNumberCharacters = new char[numberCharacters.Length - left];
        for (int i = left, j = 0; i <= numberCharacters.Length - 1; i++, j++)
        {
            newNumberCharacters[j] = numberCharacters[i];
        }
    
        string reversedString = new string(newNumberCharacters);
        return reversedString;
    }
    

    }


  • 0
    ZeroNNT17  đã bình luận lúc 4, Tháng 2, 2024, 8:33

    include <stdio.h>

    include <string.h>

    int main(){ char a1[1003];

    fgets(a1,1003,stdin);
    
    if (a1[strlen(a1) - 1] == '\n') 
        a1[strlen(a1) - 1] = '\0';
    
    char a2[strlen(a1)+1];
    int n = strlen(a1) - 1;
    int j=0;
    for (int i=n; i>=0; i--) {
        a2[j] = a1[i];
        j++;
    }
    a2[j] = '\0';
    while (a2[0]=='0') {
        for (int i=0; i<=strlen(a2); i++)
            a2[i] = a2[i+1];
    }
    printf("%s",a2);
    return 0;
    

    }


  • 0
    hoangvanthong  đã bình luận lúc 25, Tháng 1, 2024, 13:36

    int n,s=0; cin>>n; while(n>0){ s=s*10+n%10; n/=10; } cout<<abs(s); Code sao sai z ae?


    • 0
      Hailun  đã bình luận lúc 30, Tháng 1, 2024, 2:19
      • Không có số nguyên nào giới hạn 10^1000 đâu
        • Dùng chuỗi nhé!

    • 0
      hoangvanthong  đã bình luận lúc 25, Tháng 1, 2024, 13:37

      Sai test 4,5


  • 0
    glegleglegle  đã bình luận lúc 23, Tháng 1, 2024, 14:53

    test 4 là gì v


    • 0
      haoblung  đã bình luận lúc 14, Tháng 2, 2024, 14:53

      Bạn nên tự thử test với những con số có thật nhiều chữ số tầm 100-1000 chữ số để xem chương trình hoạt động đúng không là những test cuối.


  • 0
    hohoanghai5042011  đã bình luận lúc 23, Tháng 1, 2024, 8:54

    #include <bits/stdc++.h>

    using namespace std; int main() { string s; cin >> s; int l = s.length(); if(s[0] == '0') return 0; for(int i = 0; i < l; i++) if(s[i] > '9' || s[i] < '0') return 0; while(s[l-1] == '0') --l; for(int i = l-1; i >= 0; --i) cout << s[i]; }


  • -1
    Hitosuki  đã bình luận lúc 28, Tháng 12, 2023, 1:09

    include <bits/stdc++.h>

    define int long long

    c3onst int Mx=1e7+5; using namespace std; string a; int32_t main() { cin>>a; reverse(a.begin(),a.end()); while(a[0]=='0') { a.erase(0,1); } cout<<a; }


  • 2
    kitajima2910  đã bình luận lúc 23, Tháng 12, 2023, 3:59

    Các tính đồ Java 8+ đâu nào, nếu ai chưa làm được tham khảo nhá, cho mình xin up vote nếu có ích :D

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.math.BigInteger;
    import java.util.StringTokenizer;
    
    /**
     *
     * @author Kitajima2910
     */
    public class VL18 {
    
        public static void main(String[] args) throws IOException {
    
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            StringTokenizer st = new StringTokenizer(br.readLine());
    
            BigInteger n = new BigInteger(String.valueOf(new StringBuilder(st.nextToken()).reverse()));
    
            System.out.println(String.valueOf(n));
    
        }
    
    }
    

    • -3
      Bangg  đã bình luận lúc 24, Tháng 12, 2023, 16:18

      long long n;cin>>n; while(n>0) { long long kq=n%10; cout<<kq; n=n/10; }

      sao sai vay ae


  • -1
    trinhtheanh3010  đã bình luận lúc 22, Tháng 12, 2023, 13:43

    test 4 là gì v ạ


  • -1
    VoPhatDat  đã bình luận lúc 20, Tháng 12, 2023, 22:10

    def songhichdao(n): n = n.lstrip('0') return n a = input() a = songhichdao(a) a=a[::-1] a= songhichdao(a) print(a)


  • 1
    SuperCoder  đã bình luận lúc 10, Tháng 12, 2023, 3:35

    include <bits/stdc++.h>

    using namespace std;

    int main() {

    string str;
    cin >> str;
    
    size_t i = 0;   
    reverse(str.begin(), str.end());
    while(i < str.length() && str[i] == '0') {
        i++;
    }
    
    if(i < str.length()) {
        str.erase(0, i);
    } else {
        str = "";
    }
    cout << str;
    
    return 0;
    

    }


  • -1
    codev26  đã bình luận lúc 24, Tháng 11, 2023, 8:46

    1 cách khác :))

    include<bits/stdc++.h>

    using namespace std; int a[1000]={0}; void daoso(string s) { string s1=""; int n=s.size()-1; int j=0; for(int i=n;i>=0;i--) { a[j]=s[i]-'0'; ++j; } int k; for(int i=0;i<j;i++) { if(a[i]!=0) { k=i; break; } } for(int i=k;i<j;i++) cout<<a[i]; } int main() { iosbase::syncwith_stdio(0); cin.tie(0);cout.tie(); string s; cin>>s; daoso(s); return 0; }


  • -1
    nguien_24  đã bình luận lúc 18, Tháng 11, 2023, 6:08

    include <stdio.h>

    #include <string.h>
    void dao_nguoc(char str[], int do_dai){
       int bat_dau = 0;
       int ket_thuc = do_dai - 1;
       do {
        char ki_tu_phu = str[bat_dau];
        str[bat_dau] = str[ket_thuc];
        str[ket_thuc] = ki_tu_phu;
        bat_dau ++;
        ket_thuc --;
       }while (bat_dau&lt;ket_thuc);
       while (str[0] == '0'){
        memmove(str, str+1, strlen(str));
       }
       if(strlen(str) == 0) {
        str[0] = '0';
        str[1] = '\0';
       }
    }
    int main(){
        char str[1001];
        gets(str);
        dao_nguoc(str,strlen(str));
        printf("%s",str);
    }
    

  • -1
    baotphcm1612  đã bình luận lúc 10, Tháng 11, 2023, 5:31

    include <iostream>

    include <algorithm>

    include <vector>

    include <string>

    int main() { std::string number; std::cin >> number; std::reverse(number.begin(),number.end()); while(number[0] == '0') { number.erase(number.begin()); } std::cout << number << std::endl; return 0; }


  • -2
    nguien_24  đã bình luận lúc 22, Tháng 10, 2023, 15:31

    Mé nó ko cho dùng gets() với strrev() ạ


  • 0
    tuattsx3  đã bình luận lúc 22, Tháng 10, 2023, 13:23

    n = input(); newstr = list(n[::-1]); while newstr[0]=='0': del newstr[0]; print(''.join(newstr)); code mấu python cho bạn nào cần


  • -10
    Names_  đã bình luận lúc 30, Tháng 9, 2023, 9:15

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -1
    Unikey  đã bình luận lúc 1, Tháng 9, 2023, 1:34

    1st token differs - expected: '987654321', found: '987654321' Bị lỗi này sửa sao vậy mn

    ! #include<iostream> using namespace std; int main() { string n; cin >>n; int x = int(n.back())-'0'; int i; for(i = n.size()-1; i>=0; i--){ if(x%2==0 && x%5==0){ cout << n[i-1]; } else cout << n[i]; } return 0; }


  • 5
    anhkha30804  đã bình luận lúc 31, Tháng 8, 2023, 16:11

    Đã AC (C++)

    include <bits/stdc++.h>

    include <string>

    using namespace std;

    int main() { string s, s1 = ""; cin >> s;

    while(!s.empty())
    {
        s1 = s[0] + s1;
        s.erase(0, 1);
    }
    
    while(s1[0] == '0')
        s1.erase(0, 1);
    
    cout << s1;
    
    return 0;
    

    }


  • 1
    hoanglb2k2  đã bình luận lúc 10, Tháng 7, 2023, 17:23

    bài này phải dùng chuỗi (string) nhé chứ không dùng số học được vì 10^1000 vượt quá long long rồi


    • -1
      DucThanh_369  đã bình luận lúc 28, Tháng 8, 2023, 14:41

      test 4,5 là gì vậy ạ ?


      • 0
        haoblung  đã bình luận lúc 14, Tháng 2, 2024, 14:56

        không biết nhưng mà bạn thử tự chạy và test với những số lớn tầm 100-1000 chữ số là ok test cuối


  • -37
    huyhoanhbo12  đã bình luận lúc 9, Tháng 7, 2023, 11:11

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.