Tháng Mười Hai 22, 2018
Số đảo ngược
Đề bài: Nhập vào một số nguyên n (0 < n <= 10 tỷ). In ra số đảo ngược của số n.
Đầu vào: Một số n.
Đầu ra: Một số là số đảo ngược của n.
Ví dụ:
input: 123 output: 321
Bạn chưa đăng nhập? Đăng nhập để Submit ngay!
15 Comments
Add a Comment
Bạn phải đăng nhập để gửi phản hồi.
Bài này dùng chuỗi ấy anh Quân test key bị sơ hở nên em pass hết nhưng mà đoạn kiểm tra 10001 làm thế nào để nó không thành 11 thôi anh nhỉ ?
Thầy ơi bài này có cả cách nhập vào bằng chuỗi và xuất ngược chuỗi ra được mà thầy?
Chứ có nhất thiết 1 cách chia dư bằng số nguyên kia đâu ạ ^^
^^. Nhưng mục đích của bài là dùng số, và phục vụ cho nhiều bài khác.
thầy ơi, em xài kiểu longint ko qua được cái test cuối, em phải làm sao giờ, kiểu real ko mod 10 được
em dùng int64 hoặc QWord xem nhé.
cho em hỏi Qword là dùng % gì vậy anh
cái đó trong passcal nhé.
ad ơi test cuối số to quá e làm pascal ko được
code giải sai r ko tính được 1203
#include
int main(){
long int n, x;
scanf(“%li”, &n);
long int i=0;
while(i<=n){
if(n%10==0){
while(i<=n&&n%10==0){
i++;
x=n-10*i;
if(x==0){
printf("");
n=i;
i=0;
continue;
}
}}else
{
break;
}
}
while(i<=n){
while(i<=n){
i++;
x=n-10*i;
if(0<n&&n<10){
x=n;
printf("%li", x);
return 0;
}
if(0<=x&&x<10){
printf("%li", x);
break;
}
}
n=i;
i=0;
continue;}
}
code hơi dài nhưng rất vui vì tự nghĩ và khắc phục được TH sót của ad.
Var n:longint;
Function daoso(n: longint):longint;
Var s:string;
ch:char;
i,l,code:integer;
kq:longint;
Begin
str(n,s);
For i:=1 to length(s) div 2 do
Begin
ch:=s[i];
s[i]:=s[length(s)-i+1];
s[length(s)-i+1]:=ch;
End;
val(s,kq,code);
daoso:=kq;
End;
Begin
readln(n);
Writeln(daoso(n));
End. (Code của em bài 1-4 thù đúng còn 5 thì sai ạ);
Xem lại dữ liệu nhé
Giới hạn của n lên đến 10 tỷ mà khai báo longint thì chết time rồi
Vang a
#include
int main(){
long n;
scanf(“%ld”,&n);
long sodaonguoc = 0;
for(int i = n ; i > 0 ; i = i/10){
sodaonguoc *= 10;
sodaonguoc += i % 10 ;
}
printf(“%ld”,sodaonguoc);
return 0;
}
ko hieu tai sao sai cau 5 @@.
#include
#include
using namespace std;
int main() {
long long n;
cin >> n;
while( n > 0 ){
int temp = n % 10;
if(temp == 0){
cout << "";
}else{
cout << temp;
}
n /= 10;
}
}