信息学奥赛一本通(1160:倒序数)
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通(1160:倒序数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1160:倒序數
時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 19427 ??? 通過數: 13887
【題目描述】
輸入一個非負整數,輸出這個數的倒序數。例如輸入123,輸出321。
【輸入】
輸入一個非負整數(保證個位不為零)。
【輸出】
輸出倒序的數。
【輸入樣例】
123【輸出樣例】
321【分析】
? ? ? ? 倒序數即反序數,求解一個數n的反序數的方法可以用while循環,然后不斷的用取余運算符從n的尾部分離出個位,并乘10相加。
? ? ? ? 如果用遞歸求解,可以設 rev(x) 為求反序數的函數,遞歸式為?
【參考代碼】
(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)遞歸法,逐位輸出,這種方法必須保證個位不為零。設 rev(x) 函數求解倒序數,遞歸式:rev(x) = rev(x/10),遞歸出口:x<10?時,直接返回。
#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
?
總結
以上是生活随笔為你收集整理的信息学奥赛一本通(1160:倒序数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1409:判决素数个数
- 下一篇: 信息学奥赛一本通 1016:整型数据类型