紫书 习题2-6 排列

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 int main()
 5 {
 6     int i, count = 0, j, k, a[10], c;//用i表示abc,j表示def,k表示ghi
 7     memset(a, 0, sizeof(a));//初始化数组,全部为零
 8     for ( i=123; i<=329; i++ )
 9     {
10         j = i*2;
11         k = i*3;
12         a[i/100] = a[i/10%10] = a[i%10] = 1;//分别标记出现过的数字
13         a[j/100] = a[j/10%10] = a[j%10] = 1;
14         a[k/100] = a[k/10%10] = a[k%10] = 1;
15         for ( c=0; c<10; c++ )
16             count += a[c];
17         if ( count == 9 ) //只有1到9每个数字被标记结果才为9
18             printf("%d\n%d\n%d\n", i, j, k);
19         count = 0;
20         memset(a, 0, sizeof(a));
21     }
22 
23     return 0;
24 }

 

转载于:https://www.cnblogs.com/Roni-i/p/7192318.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值