信息学奥赛一本通(1160:倒序数)
1160:倒序數(shù)
時(shí)間限制: 1000 ms ??? ??? 內(nèi)存限制: 65536 KB
提交數(shù): 19427 ??? 通過數(shù): 13887
【題目描述】
輸入一個(gè)非負(fù)整數(shù),輸出這個(gè)數(shù)的倒序數(shù)。例如輸入123,輸出321。
【輸入】
輸入一個(gè)非負(fù)整數(shù)(保證個(gè)位不為零)。
【輸出】
輸出倒序的數(shù)。
【輸入樣例】
123【輸出樣例】
321【分析】
? ? ? ? 倒序數(shù)即反序數(shù),求解一個(gè)數(shù)n的反序數(shù)的方法可以用while循環(huán),然后不斷的用取余運(yùn)算符從n的尾部分離出個(gè)位,并乘10相加。
? ? ? ? 如果用遞歸求解,可以設(shè) rev(x) 為求反序數(shù)的函數(shù),遞歸式為?
【參考代碼】
(1)非遞歸方法:#include <stdio.h> int rev(int n) {int t,res=0;t=n;while(n){res=res*10+n%10;n/=10;}return res; } int main() {int n;scanf("%d",&n);printf("%d\n",rev(n));return 0; }(2)遞歸法,逐位輸出,這種方法必須保證個(gè)位不為零。設(shè) rev(x) 函數(shù)求解倒序數(shù),遞歸式:rev(x) = rev(x/10),遞歸出口:x<10?時(shí),直接返回。
#include <stdio.h>
void rev(int x)
{
?? ?printf("%d",x%10);
?? ?if(x>9)
?? ??? ?rev(x/10);
?? ?return;
}
int main()
{
?? ?int n;
?? ?scanf("%d",&n);
?? ?rev(n);
? ? return 0;
}
http://ybt.ssoier.cn:8088/problem_show.php?pid=1160
?
總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通(1160:倒序数)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1409:判决素数个数
- 下一篇: 信息学奥赛一本通 1016:整型数据类型