#include <stdio.h>
int main()
{
int i,j,sum,cnt=0;
for(i=2;i<=500;i++)
{
//判断i是否为完数,如是,计数器累加。
// (求它的所有因子的和,然后判断因子和和原数据i是否相等)等价于 [1..i-1]
sum=0;
for(j=1;j<=i-1;j++)
if (i%j==0) sum=sum+j; //sum=sum+i; 这样写是不对的
if (sum==i) cnt++;
}
printf("%d\n",cnt);
return 0;
}
问题:有1,2,3,4共4个整数,能组成多少个互不相同且无重复数字的三位数。
分析:
分别用a,b,c表示百位,十位,个位
for(a=1;a<=4;a++)
for(b=1;b<=4;b++)
for(c=1;c<=4;c++)
//如果数字不重复,则为满足条件的三位数。
if ((a!=b)&&(a!=c)&&(b!=c)) printf("%d\n",a*100+b*10+c);
上一页
[1]
[2]
[3]
[4]
下一页