猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子。求第一天共摘了多少桃子。
在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。请修改程序并运行,检查结果是否正确。
用不用设参数什么的,还是直接反着做,不懂呀,高手帮忙!
在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。请修改程序并运行,检查结果是否正确。
用不用设参数什么的,还是直接反着做,不懂呀,高手帮忙!
解决方案 »
- C#清除缓冲区数据(急)
- 请问哪有最新的Spring.NET 下载?
- DataSet反序列化遇到:在分析完成之前就遇到流结尾。
- 请问两个关于DataGridView的问题:(1)DataGridViewCheckBoxColumn;(2)最下面多1行
- 寻一第三方控件
- 在Form里放了一个UserControl,如何在UserControl里获得属于的Form。
- 关于必填项的验证
- 从C到C#改造中遇到的大批量头文件的处理问题[急]
- 怎样用多线程绑定WinForm中的DataGrid数据
- 求教:应用程序正常初始化(Oxc000007b)失败.请单击"确定",终止应用程序
- ArrayList类型的数组如何获取元素数量
- 求助】C#连接SQL失败
就有Xn-1 = (Xn+a)*b,设吃了n天,最后一天剩1个,那就可以根据Xn = 1倒推回X1的值。这样就有了如下的代码。如果最后一天剩下的桃子的数目不固定,那么可以将sum的初始值,即最后一天剩下的桃子数当参数传进去。int SumPeach(int a, int b, int n)
{
int sum = 1;
for(int i = 0; i < n; i++)
{
sum = (sum + a) * b;
}
return sum;
}p.s. 仅是思路,没测试,楼主可以先试试,看算出来跟实际结果是否相同。
int sum = 1;
for (int t = 0; t <11; t++)
{
sum = (sum) * 2 + 1;
}
//按后往前推算 第10天是1个 第9天是 4个 第8天是 10个 第7天就是22个
// 规律 1 4 10 22 (n*2)+2;
// 1 2 3 4 5 6 7 8 9 10
//1 1*2+2 for (int i = 1; i < 10;i++ )//
{
temp = temp * 2 + 2;
}
Console.WriteLine(temp.ToString());