例1:百鸡百钱--一天,车夫子想用100文钱买100只鸡,卖家告知公鸡2文钱1只,母鸡1文钱1只,小鸡1文钱2只;请问在每种鸡至少买一只的情况下哪些组合方式可以刚好花完100文钱购买100只鸡?
//公鸡i,母鸡j,小鸡k for (int i = 1; i < 50; i++){ for (int j = 1; j < 100; j++) { for (int k = 2; k < 100; k++) { //运算当条件满足公鸡2文钱1只+母鸡1文钱1只+小鸡1文钱2只时是否等于100文钱,并且公鸡+母鸡+小鸡的数量是否等于100只. if (i * 2 + j * 1 + k * 0.5 == 100 && i + j + k == 100) //输出满足条件的组合方式 // Console.WriteLine("公鸡" + i + "只,母鸡" + j + "只,小鸡" + k + "只."); Console.WriteLine("公鸡{2}只,母鸡{1}只,小鸡{0}只.", i, j, k); } } }PS:上述使用Console.WriteLine()1公式步骤:A.Console.WriteLine("公鸡XX只,母鸡XX只,小鸡XX只.")B.用"+i+"代替XXConsole.WriteLine()2公式解析:Console.WriteLine("公鸡{2}只,母鸡{1}只,小鸡{0}只.", i, j, k);--i=0,j=1,k=2例2:福利购物券--小张发了一张100元超市购物券,需要购买洗刷用品,购物券不找零,香皂2元1块,牙刷5元1个,洗发水15元1瓶;请问在每种洗刷用品购买一种的情况下哪些组合方式可以刚好花完100元.
//香皂i,牙刷j,洗发水k for (int i = 1; i <= 50; i++) { for (int j = 1; j < 20; j++) { for (int k = 1; k < 7; k++) { //运算当条件满足香皂2元1块+牙刷5元1个+洗发水15元1瓶时是否等于100元钱. if (i * 2 + j * 5 + k * 15 == 100 ) //输出满足条件的组合方式 Console.Write("香皂" + i + "个,牙刷" + j + "个,洗发水" + k + "瓶."); } } }例3.运算出100以内的所有素数 for (int i = 1; i <= 100; i++)//第一遍穷举,遍历1-100之间所有的值 { int n = 0;//能整除i的数值的个数 for (int j = 1; j <= i; j++)//第二遍穷举,找每个可能整除它的数 { if(i%j==0) { n++; } } if(n==2) { Console.Write(i+"\t"); } }例4.运算5! int sum=1; for(int i=1;i<=5;i++) { sum=sum*i; } { Console.WriteLine(sum); }例5.运算5!+4!+3!+2!+1!.
方法1: int sum = 0;
int jc = 1; for (int i = 1; i <= 5; i++) {jc = jc * i;
sum = sum + jc;--在运算1个阶乘值之后即与第二个阶乘值相加 } Console.WriteLine(sum );}
PS:但如果是7!+5!+4!+3!+2+1!就需要按照另一种方法运算了(两个for)
方法二:
{
int sum = 0;
for (int a = 1; a <= 5; a++)--把5到1遍历 { int jc = 1; for (int i = 1; i <= a; i++) jc = jc * i; sum=(sum + jc);//Console.WriteLine(jc);--5到1每个数值的阶乘
} Console.WriteLine(sum);--输出5到1的阶乘和}