设N是一个四位数,它的 9 倍恰好是其反序数(例如:1234的反序数是4321),求N的值。
参考简单代码:将四位数分别用4个整数表示:
#include<iostream>
using namespace std;
int main()
{
for(int i=1000;i<=9999;i++)
{
int a,b,c,d;
a=i/1000;
b=i/100-a*10;
c=(i/10)%10;
d=i%10;
if(9*i==d*1000+c*100+b*10+a)
cout<<i<<endl;
}
return 0;
}
P.S不知道这个解法思路有没有问题啊???
#include <iostream>
#include <string>
using namespace std;
int main()
{
char s[4];
int n;
while(1)
{
for(int i=1000;i<=9999;++i)
{
int j=0;
while(i)
{
n=i%10;
s[j++]=n+48;
i/=10;
}
s[j]='\0';
if(i*9==atoi(s))
cout<<i<<" ";
}
cout<<endl;
}
return 0;
}