设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)
求N的值
#include<iostream>
using namespace std;
int main(){
for(int i=1000;i<=9999;i++){
int temp=i,total=0;
while(temp>0){
total=total*10+temp%10;
temp/=10;
}
if(total==i*9)
cout<<i<<endl;
}
}
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
for(int i=1000; i<10000; i++)
{
int j = i;
int x = 3;
int sum = 0;
while(j)
{
sum += j % 10 * pow(10, x--);
j /=10;
}
if(sum == i*9)
cout << i << endl;
}
return 0;
} public class Main{
public static void main(String[] args){
//所求数字首位必为1,末位必为9
//设四位数为1ab9,则翻转数为9ba1
int a;
int b;
for(a = 0 ; a < 10; a++){
for(b = 0; b < 10; b++){
//a b 满足的关系为890*a+80==10*b
if(890*a + 80 == 10*b){
System.out.println(1000 + a*100 + b*10 + 9);
}
}
}
}
} #include <bits/stdc++.h>
using namespace std;
int reverse (int x){
int revx=0;
while(x!=0){
revx*=10;
revx+=x%10;
x/=10;
}
return revx;
}
int main(){
for(int i=1000;i<=9999;i++){
if(9*i==reverse(i)){
printf("%d\n",i);
}
}
return 0;
}
使用reverse()函数求出每个的反序数,再从1000到9999枚举就好了。求反序数可以认为是一个循环,逐渐掏空x,丰富revx。
#include <stdio.h>
int reversenum(int m) {
int n;
n = m / 1000 + (m % 1000 / 1000) * 10 + (m % 100 / 10) * 100 + (m % 10) * 1000;
return n;
}
int main() {
for (int i = 1000; i < 10000; i++) {
if (i * 9 == reversenum(i)) {
printf("%d\n", i);
}
}
return 0;
}
#include <stdio.h>
int main(){
for (int i = 0; i < 10; i++){
for (int j = 0; j < 10; j++){
if ((1009 + 100 * i + 10 * j) * 9 == (9001 + 10 * i + 100 * j))
printf("1%d%d9\n", i, j);
}
}
return 0;
} #include <stdio.h>
void to_array(int num,int a[])
{
for(int i = 0;i < 4;i++)
{
a[i] = num % 10;
num /= 10;
}
}
int main()
{
int a[4],reverse;
for(int i = 1000;i < 10000;i++)
{
to_array(i,a);
reverse = 0;
for(int j = 0;j < 4;j++)
{
reverse *= 10;
reverse += a[j];
}
if(i * 9 == reverse)
printf("%d\n",i);
}
return 0;
} #include <bits/stdc++.h>
using namespace std;
int main()
{
for(int i = 1000; i < 10000; i++)
{
string s = to_string(i);
reverse(***egin(),s.end());
int j = stoi(s);
if(i*9 == j)
{
cout << i << endl;
}
}
return 0;
}
def solution(): for a in range(1,10): for b in range(10): for c in range(10): for d in range(1,10): num = a*1000+b*100+c*10+d if (num)*9 == (d*1000+c*100+b*10+a): print(num) solution()