要发现它的规律,题n年牛的总数等于n-1年的母牛数加上第n年新增的母牛数,第n年只有n-3年的那些母牛才能产母牛,所以第n年的母牛数等于第n-1和n-3年的母牛数的和,即sum(n)=sum(n-1)+sum(n-3),可用递归来做
1 #include<cstdio> 2 #include<cmath> 3 #include<string.h> 4 #include<iostream> 5 #include<algorithm> 6 using namespace std; 7 8 int zongshu(int n) 9 { 10 if(n>0&&n<5) 11 return n; 12 else 13 { 14 return zongshu(n-1)+zongshu(n-3); 15 } 16 } 17 18 int main() 19 { 20 int n; 21 int sum; 22 while(scanf("%d",&n)!=EOF) 23 { 24 if(n==0) 25 { 26 break; 27 } 28 sum=zongshu(n); 29 printf("%d\n",sum); 30 } 31 return 0; 32 }
hdu 2019
没做出来
1 #include<cstdio> 2 #include<cmath> 3 #include<string.h> 4 #include<iostream> 5 #include<algorithm> 6 using namespace std; 7 8 int main() 9 { 10 int n,m,j; 11 int a[110]; 12 while(scanf("%d%d",&n,&m)!=EOF) 13 { 14 if(n==0&&m==0) 15 { 16 break; 17 } 18 for(int i=0;i<n;i++) 19 { 20 scanf("%d",&a[i]); 21 } 22 for(int i=0;i<n;i++) 23 { 24 if(m<=a[i]) 25 { 26 j=i; 27 break; 28 } 29 } 30 for(int i=n;i>j;i--)//关键处 31 a[i]=a[i-1]; 32 a[j]=m; 33 printf("%d",a[0]); 34 for(int i=1;i<=n;i++) 35 printf(" %d",a[i]); 36 printf("\n"); 37 } 38 return 0; 39 }
hdu 2020:
1 #include<cstdio> 2 #include<math.h> 3 #include<string.h> 4 #include<iostream> 5 #include<algorithm> 6 using namespace std; 7 8 int main() 9 { 10 int n,m,j,t; 11 int a[110]; 12 while(scanf("%d",&n)!=EOF) 13 { 14 if(n==0) 15 { 16 break; 17 } 18 for(int i=0;i<n;i++) 19 { 20 scanf("%d",&a[i]); 21 } 22 for(int i=0;i<n;i++) 23 { 24 for(j=i;j<n;j++)//关键 25 { 26 if(abs(a[i])<abs(a[j]))//关键 27 { 28 t=a[i]; 29 a[i]=a[j]; 30 a[j]=t; 31 } 32 } 33 } 34 35 printf("%d",a[0]); 36 for(int i=1;i<n;i++) 37 { 38 printf(" %d",a[i]); 39 } 40 printf("\n"); 41 } 42 return 0; 43 }
hdu 2021:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int n,m; 6 while(cin >> n) 7 { 8 if(n==0) 9 break; 10 int aount =0; 11 for(int i=0; i < n;++i) 12 { 13 cin >> m; 14 aount+=m/100; 15 m%=100; 16 aount+=m/50; 17 m%=50; 18 aount+=m/10; 19 m%=10; 20 aount+=m/5; 21 m%=5; 22 aount+=m/2; 23 m%=2; 24 aount+=m; 25 26 } 27 cout<<aount<<endl; 28 } 29 return 0; 30 }
hdu 2022
1 #include<stdio.h> 2 #include<math.h> 3 #include<string.h> 4 5 6 int main() 7 { 8 int n,m,t; 9 int a; 10 int minn,col,row; 11 int x,y,s; 12 while(scanf("%d%d",&n,&m)!=EOF) 13 { 14 minn=0; 15 for(int i=1;i<=n;i++) 16 { 17 for(int j=1;j<=m;j++)//关键 18 { 19 scanf("%d",&a);//如果用数组做不出来,尝试直接用 20 if(fabs(a)>fabs(minn))//不知道为什么这里用abs就不行(遇到问题多试试) 21 { 22 minn=a; 23 col=i; 24 row=j; 25 } 26 } 27 } 28 printf("%d %d %d\n",col,row,minn); 29 } 30 return 0; 31 }
时间: 2024-10-14 14:55:42