
C身设计在线开放课程 穷举法 888888c 主讲:曾志华
穷举法 在线开放课程 主讲:曾志华

习题 (身程设计 1数字组合 用户输入一个正整数N(3<=N<=9)。从0到N之间的所有正整数(包含0和N )中选择三个,组成一个三位数(0不能作为百位数),且这个三位数为奇数,请 计算出共有多少种满足条件的三位数组合。(注意:组成的三位数各位上的数字 不能重复) 输入描述: 输入一个正整数N(3<=N<=9) 输出描述: 输出满足条件的三位数组合的个数 样例输入: 3 样例输出: 8
1 数字组合 用户输入一个正整数N(3<=N<=9)。从0 到 N 之间的所有正整数(包含 0 和 N )中选择三个,组成一个三位数(0 不能作为百位数),且这个三位数为奇数,请 计算出共有多少种满足条件的三位数组合。(注意:组成的三位数各位上的数字 不能重复) 输入描述: 输入一个正整数N(3<=N<=9) 输出描述: 输出满足条件的三位数组合的个数 样例输入: 3 样例输出: 8 习题

习题 C设计 上述输入输出样例的进一步解释: 用户输入的正整数, 即样例输入为3,也就是将0、1、2、3四个数字进行组合。 符合要求的三位数为: 103、123、203、213、201、231、301、321共8个,所以样例输出为8。 Enter
上述输入输出样例的进一步解释: 用户输入的正整数, 即样例输入为3,也就是将0、1、2、3 四个数字进行组合。 符合要求的三位数为: 103、123、203、213、201、231、301、321 共 8 个,所以样例输出为 8。 习题

int main() int i,j,k; int n; int cnt =0; scanf("%d",&n); for(i 1;i <n;i ++ for(j=0 ;j <=n ;+ for(k =0 k <n;k++) if(i1=j88i1=k&8j1=k88(100*i+10*j+k)%2==1) cnt++; printf("%d",cnt); return 0;

习题 2输出aabb的4位完全平方数 C程设计 输出所有形如:aabb的4位完全平方数(前两位相同,后两位相同) int main() r int xj for(x sqrt(1000);x++) r int nj n=x*×;//枚举的平方 if(n:16000)break;/川如果平方不是4位数,则结束 inta=n/1008;/千位 intb=n/100%10;/百位 1ntc=n/10%10;//十位 intd=n%10;/个位 if(a ==b &&c ==d printf("%d",n); return 0;
2 输出aabb的4位完全平方数 输出所有形如:aabb的4位完全平方数(前两位相同,后两位相同) 习题

习题 (程序设计 3百线买百鸡: 公鸡5元一只,母鸡3元一只,小鸡1元三只;一百元买一百只鸡,且公鸡,母鸡,小鸡都要有. 有几种买法? int main() int i,j,k; for(i=1;i<=20;i+)/枚举公鸡 for(j=1;j=33;j+)/枚举母鸡 for(k=3;k<=99;k=k+3)/枚举小鸡 if(i+j+k=1008&5*i+3*j+1.0/3*k==100) printf("%d,%d,%d",i,j,k); return 0;
3 百钱买百鸡. 公鸡5元一只,母鸡3元一只,小鸡1元三只;一百元买一百只鸡,且公鸡,母鸡,小鸡都要有. 有几种买法? 习题

习题 (身程序设计 4计算年龄 三个神秘蒙面人来访F博士。博士询问他们年龄时,他们说:我们中年龄最小的不 超过19岁。我们3人年龄总和为70岁。且我们三人年龄的乘积是所有可能情况中景 大的。 请帮助F博士计算他们的年龄,从小到大排列,用逗号分开。 Enter
4 计算年龄 三个神秘蒙面人来访F博士。博士询问他们年龄时,他们说:我们中年龄最小的不 超过19岁。我们3人年龄总和为70岁。且我们三人年龄的乘积是所有可能情况中最 大的。 请帮助F博士计算他们的年龄,从小到大排列,用逗号分开。 习题

int main() CG劳程设计 int x,y,z; int maX_×,maxy,max-z; int max 0; for(x=1;X<=19;X++) for(y=1;y<78;y++) for(z=1;z<70;z+) 1f(×+y+z==78&&×<y&&y<z) if(max<x丰y*z) max x*y*z; max_×=x;/记下来,随时更新 max_y =yi max_zz; printf("%d,‰d,%d",max×,max_y,max_z) return 0;