文章
4
粉丝
174
获赞
1
访问
2.2k
解题思路:输入一个数如123我们可以通过求它的余数(123%10)来获得个位3,而它的翻转数321的百位刚好是(3 * 10 * 10),十位是(2 * 10),以此类推。
这里我们可以看出,原数位数是3,而3 * 100 = 3 * (10 ^(3 - 1)),可以写一个函数得到原数的位数,然后根据前面的关系求出翻转数的每个位数,用一个以0为初始值的变量依次接收各个位数的值便可得到翻转数。
代码如下所示:
#include<iostream>
using namespace std;
int getn(int n){ //获得相应原数的翻转数的位数
int count = 0;
do{
n /= 10;
count++;
}while(n != 0);
return count;
}
void gets(int a, int b){ //求翻转数的和并输出
int fa = 0;
int fb = 0;
int n = 1;
for(int i = getn(a); i > 0; i--)
n *= 10;
while(n != 1){
n /= 10;
fa += (a % 10) * n; //这条...
登录后发布评论
暂无评论,来抢沙发