?
猴子吃桃問題
時間限制:3000 ms ?|? 內存限制:65535 KB
難度:0
- 描述
- 有一堆桃子不知數目,猴子第一天吃掉一半,又多吃了一個,第二天照此方法,吃掉剩下桃子的一半又多一個,天天如此,到第m天早上,猴子發現只剩一只桃子了,問這堆桃子原來有多少個? (m<29)
- 輸入
- 第一行有一個整數n,表示有n組測試數據(從第二行開始,每一行的數據為:第m天); 輸出
- 每一行數據是桃子的總個數 樣例輸入
-
2 3 11
樣例輸出 -
22 6142
我的程序: - #include<stdio.h>
int main()
{
??? int i,j,n,m,x=0,y=1;
??? scanf("%d",&n);
??? for(i=0;i<n;i++)
??? {
?????? scanf("%d",&m);
?????? y=1;
?????? for(j=0;j<m;j++)
?????? {
???????? y=(1+y)*2;
?????? }
?????? printf("%d\n",y) ;
??? }?
??????
??? system("pause");
??? return 0;
}
????
????最優程序: - #include<stdio.h>
int main()
{
??? int n,m;???
??? scanf("%d",&n);???
??? while(n--)
??? {
???? scanf("%d",&m);??
???? printf("%d\n",(3<<m)-2); //找規律題,<<左移運算 ,0000011(3)左移為0001100(12)—2=10(三天)
??? }
??? system("pause");
return 0;
}????
???