用穷举法倒是能做,但是递归法不好做,还没弄出来
[CODE] private void QiongJu()
{
for (int i = 0; i < 100; i++)
{
double a = (i * 0.5 + 0.5);
if (a*10%10!=0||a == 0||a<0)
continue;
else
{
double b = ((i - a) * 0.5 + 0.5);
if (b*10%10!=0||b == 0||b<0)
continue;
else
{
double c = ((i - a - b) * 0.5 + 0.5);
if (c*10%10!=0||c == 0||c<0)
continue;
else
{
if((i-a-b-c)==0)
MessageBox.Show(i.ToString ());
}
}
}
}
}[/CODE]
最后一天瓜早晨瓜数为: 1
倒数第二天早晨西瓜数为: 1*2+1=3
倒数第三天的早晨西瓜数为: 3*2+1=7
倒数第四天的早晨西瓜数为: 7*2+1=15
…………………………………………
由此可以看出,前天西瓜数目即为当天西瓜数的二倍加一:
class Program
{
static void Main(string[] args)
{
int day,num=0;
System.Console.Write(\" ^_^ 西瓜是多少天卖完的啊?\n请输入一个整数>> \");
day = Int32.Parse(System.Console.ReadLine());
for (int i = 0; i <= day-1; i++)
{
num = num * 2 + 1;
}System.Console.WriteLine(\"\n西瓜的总是是:{0}\", num);
System.Console.ReadKey();
}
}
[此贴子已经被作者于2007-8-9 20:47:15编辑过]
最后一天瓜早晨瓜数为: 1
倒数第二天早晨西瓜数为: 1*2+1=3
倒数第三天的早晨西瓜数为: 3*2+1=7
倒数第四天的早晨西瓜数为: 7*2+1=15
…………………………………………
由此可以看出,前天西瓜数目即为当天西瓜数的二倍加一:
class Program
{
static void Main(string[] args)
{
int day,num=0;
System.Console.Write(\" ^_^ 西瓜是多少天卖完的啊?\n请输入一个整数>> \");
day = Int32.Parse(System.Console.ReadLine());
for (int i = 0; i <= day-1; i++)
{
num = num * 2 + 1;
}System.Console.WriteLine(\"\n西瓜的总是是:{0}\", num);
System.Console.ReadKey();
}
}
我怎么觉得是2倍减1呢
[此贴子已经被作者于2007-8-10 8:38:06编辑过]