一、枚举
1.设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。
#include <stdio.h>
int main()
{
int a,b,c;
for (a=0;a<10;a++){
for(b=0;b<10;b++){
for(c=0;c<10;c++){
if((a*100+b*10+c)+(b*100+c*10+c)==532){
printf("%d %d %d\n",a,b,c);
}
}
}
}
return 0;
}
2.设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321) 求N的值
#include<stdio.h>
int main()
{ int a,b,c,d,N,n;
for(N=1000;N<=1111;N++)
{
//取各个位上的数
a=N/1000;
b=(N%1000)/100;
c=(N/10)%10;
d=N%10;
n=1000*d+100*c+10*b+a;//对应位的单个数字合并组成一个新数,数字乘以位权相加
if(9*N==n){ printf("%d\n",N);}
}
return 0;
}