杭电ACM1282——回文数猜想

来源:互联网 发布:iphone连不上蜂窝数据 编辑:程序博客网 时间:2024/06/11 04:54

如题,题目很简单,水题一个。

输入一个数,判断是否是回文数,是就退出,中间的值用数组记录。将数倒序,判断与原来的数是否相等,相等就是回文数。

由于数不超过int型,所以可以用下面的来来判断。

int cheak(int n){int temp = n;int ans = 0;while(temp)           //不断的取temp的最后一个数加到ans上,就将n转置过来了{ans = ans * 10 + (temp % 10);temp /= 10;}if(ans == n)return 1;elsereturn 0;}


下面的是AC的代码:

#include <iostream>using namespace std;int cheak(int n){int temp = n;int ans = 0;while(temp){ans = ans * 10 + (temp % 10);temp /= 10;}if(ans == n)return 1;elsereturn 0;}int num[100];int main(){int n, k;while(cin >> n){k = 0;while(!cheak(n)){num[k++] = n;int temp = n;int ans = 0;while(temp){ans = ans * 10 + (temp % 10);temp /= 10;}n = n + ans;}num[k++] = n;cout << k - 1 << endl;for(int i = 0; i < k - 1; i++){cout << num[i] << "--->";}cout << num[k - 1] << endl;}return 0;}


0 0
原创粉丝点击