题目:有一对幼兔,一个月后长成小兔,小兔一个月后长成成兔并且生下一对幼兔;
问几年后共有几只兔子,小兔,成兔,幼兔,各多少只?
思路;本月小兔=上月成兔,本月小兔=上月幼兔,本月成兔=上月成兔+上月小兔。
int y = 1, x = 0, c = 0, i = 2;
Console.Write("请输入年份n=");
double n = double.Parse(Console.ReadLine());
while (i <= 12 * n)
{
c = c + x;x = y;y = c;i++;
}
Console.WriteLine(n+"年后总共有 "+(x+y+c)+" 只兔子。其中幼兔 "+y+" 只,小兔 "+x+" 只,成兔"+c+"只。");
题目:公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,总共只有100文钱,如何在凑够100只鸡的情况下刚好花完100文钱?
思路;全买公鸡可以买50只,全买母鸡可以买100只,全买小鸡可以买200只;
假设买了公鸡x只(0<=x<=50),母鸡y只(0<=y<=100),小鸡z只(0<=z<=200);
那么就有2x+y+0.5z=100,且x+y+z=100;
int sum=0;
for (int x = 0; x <= 50; x++)
{
for (int y = 0; y <= 100;y++ )
{
for (int z = 0; z <= 200;z++ )
{
if (x + y + z == 100 && 2 * x + y + z / 2 == 100)
{
Console.WriteLine("可以买:公鸡 " + x + " 只,母鸡 " + y + " 只,小鸡 " + z + " 只");
sum += 1;
Console.WriteLine("总共有 "+sum+" 种方案");
}
}
}
}
题目:上等马驼2石粮食,中等马驼1石粮食,两头小马驼1石粮食,要用100匹马,驼100石粮食,该如何分配?
思路;全用上等马需要50匹,全用中等马需要100匹,全用小马需要200匹;
设上等马用了s匹(0<=s<=50),中等马用了z匹(0<=z<=100),小马用了x匹(0<=x<=200);
那么2s+z+0.5x=100,s+z+x=100;
程序参考上一题,连数字都没变;
题目:有1分钱,2分钱,5分钱的硬币,要组合出来2角钱,有几种组合方式,分别各多少个?
思路;与上两题基本相同。
int sum = 0;
for (int x = 0; x <= 20;x++ )
{
for (int y = 0; y <= 10; y++)
{
for (int z = 0; z <= 4; z++)
{
if(x+2*y+4*z==20)
{
Console.WriteLine("一分钱 "+ x+"个,两分钱 "+y+" 个,五分钱 "+z+" 个!");
sum += 1;
}
}
}
}
Console.WriteLine("总共有 " + sum + " 种方案!");
题目:求100以内质数的和;
思路;质数只能被1和其本身整除;设正整数n,当n不能被【2,n-1】这个开区间的任何一个整数整除时,那么n就是质数。
运用for循环!
int sum = 0;
for (int i = 0; i <= 100; i++)
{
for (int j = 2; j <= i; j++)
{
sum+=i;
if (i == j)
{
Console.Write(i+"\t");
break;
}
else if (i % j == 0)
{
sum -= i;
break;
}
else
{
sum -= i;
}
}
}
Console.WriteLine();
Console.WriteLine("100以内质数的和为:"+sum);
题目:理想状态下,篮球自由落体弹起高度若为上一次高度的四分之三,首先高度设置为1米,输入一个次数,求篮球现在弹起的高度?
思路;设篮球第一次弹起的高度是一米,那么第二次弹起就是1*(3/4)米,第n次就是1*(3/4)^n米;
运用while语句!
Console.Write("请输入次数n=");
int n=int.Parse(Console.ReadLine());
double m = 1;int i = 1;
while(i<n)
{
m = m * 3 / 4;
i++;
}
Console.WriteLine("第 "+n+" 次篮球弹起的高度是:"+m+" 米");
题目:100以内的奇数的和;
思路;不能被2整除的数就是奇数;
运用do-while语句;
int sum=0,i=1;
do
{
if (i % 2 != 0)
{
Console.Write(i + "\t");
sum += i;
}
i++;
}
while (i <= 100);
Console.WriteLine("这些奇数的和是:"+sum);