特殊的数字
问题描述
153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。
输出格式
按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。
#include<stdio.h>
int main()
{
int a,b,c,s,i;
for(i=100;i<1000;i++)
{
a=i/100;
b=(i/10)%10;
c=i%10;
s=a*a*a+b*b*b+c*c*c;
if(i==s)
printf("%d\n",i);
}
return 0;
}
回文数
问题描述
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
按从小到大的顺序输出满足条件的四位十进制数。
#include<stdio.h>
int main()
{
int i,a,b,s;
for(i=10;i<100;i++)
{
a=i/10;
b=i%10;
s=a*1000+b*100+b*10+a;
printf("%d\n",s);
}
return 0;
}
特殊 回文数
问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
数据规模和约定
1<=n<=54。
#include<stdio.h>
int main()
{
int i,a,b,c,s,n,m;
scanf("%d",&n);
for(i=10;i<100;i++)
{
a=i/10;
b=i%10;
for(c=0;c<10;c++)
{
m=(a+b)*2+c;
if(m==n)
{
s=a*10000+b*1000+c*100+b*10+a;
printf("%d\n",s);
}
}
}
for(i=100;i<1000;i++)
{
a=i/100;
b=(i/10)%10;
c=i%10;
m=(a+b+c)*2;
if(m==n)
{
s=a*100000+b*10000+c*1000+c*100+b*10+a;
printf("%d\n",s);
}
}
return 0;
}