hdu递推公式水题
hdu2013?蟠桃記
1 #include<stdio.h> 2 int main() 3 { 4 long long day,x,ans[31]; 5 for(int i=1;i<31;++i){ 6 x=1; 7 day=i; 8 while(--day) 9 x=(x+1)<<1; 10 ans[i]=x; 11 } 12 while(~scanf("%I64d",&day)) 13 printf("%I64d\n",ans[day]); 14 return 0; 15 }hdu2041 ? ?超級樓梯
1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int i,k1,k2,t,m,n; 6 scanf("%d",&n); 7 while(n--) 8 { 9 scanf("%d",&m); 10 for(i=2,k1=k2=1;i<m;i++) 11 { 12 t=k2; 13 k2=k1+k2; 14 k1=t; 15 } 16 printf("%d\n",m==1?0:k2); 17 } 18 system("pause"); 19 return 0; 20 }hdu2042 ? ?不容易系列之二
1 #include <stdio.h> 2 int a[40]={3}; 3 int main() 4 { 5 for(int i=0;i<30;++i) 6 a[i+1]=(a[i]-1)*2; 7 int T,n; 8 scanf("%d",&T); 9 while(T--){ 10 scanf("%d",&n); 11 printf("%d\n",a[n]); 12 } 13 return 0; 14 }hdu2044 ? ?一只小蜜蜂...
1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 long long i,k1,k2,t,m,n,a,b; 6 scanf("%I64d",&m); 7 while(m--) 8 { 9 scanf("%I64d%I64d",&a,&b); 10 for(i=k1=k2=1,n=b-a;i<n;i++) 11 { 12 t=k2; 13 k2+=k1; 14 k1=t; 15 } 16 printf("%I64d\n",k2); 17 } 18 system("pause"); 19 return 0; 20 } 21 //本題用到公式:F(m)=F(m-1)+F(m-2);hdu2045 ? ?不容易系列之(3)—— LELE的RPG難題
1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int i,n; 6 __int64 k1,k2,t; 7 while(scanf("%I64d",&n)!=EOF) 8 { 9 for(i=3,k1=k2=6;i<n;i++) 10 { 11 t=k2; 12 k2+=2*k1; 13 k1=t; 14 } 15 printf("%I64d\n",n==1?3:k2); 16 } 17 system("pause"); 18 return 0; 19 } 20 /*本題的解題思路可以參考數學中錯排公式的推導原理之遞推法。*/轉載于:https://www.cnblogs.com/shihuajie/archive/2012/08/18/2645136.html
總結
- 上一篇: 批处理延时启动的几个方法
- 下一篇: bitmap设置图片尺寸缩小,避免内存溢