第三章-循环语句

来源:互联网 发布:网络流行欧美歌曲 编辑:程序博客网 时间:2024/05/18 03:54

3.1 go for it Dao
这里写图片描述

//小朋友#include<stdio.h>  int main(){  int n;  double a,b;  double num=0,p=0;  int i;  scanf("%d",&n);  for(i=1;i<=n;i++)  {      scanf("%lf%lf",&a,&b);      num+=a;      p+=b;  }  printf("%.3lf",num/p);  return 0;  
//犇犇#include<cstdio>  int n;  double a,b,c;  int main()  {      scanf("%d",&n);      for (int i=1; i<=n; i++)       {          scanf("%lf",&c); a+=c;          scanf("%lf",&c); b+=c;      }      printf("%.3lf",a/b);  }  

3.2 lucky number
这里写图片描述

//小朋友#include<stdio.h>  int main(){      int a;      int p=0;      int i;      for(scanf("%d",&a);a>0;a/=10) p+=(a%10); //关键语句,p为a的各位数之和     if(p==1) { printf("So pity, Dao!"); return 0;}      for(i=2;i<p;i++)      if(p%i==0)  {  printf("So pity, Dao!");  return 0;}      printf("Congratulations, Dao!");  return 0;  }  
//犇犇#include<cstdio>  #include<cmath>  int n,num;  int main()  {      for (scanf("%d",&n); n>0; n/=10) num+=n%10;      if (num==1) { printf("So pity, Dao!"); return 0;}      for (int i=2; i<=sqrt(num); i++) if (num%i==0) { printf("So pity, Dao!"); return 0;}      printf("Congratulations, Dao!");  }  

3.3 snooker
这里写图片描述

//小朋友 #include<stdio.h>  int add(int a,int b){      int x=0;      for(int i=0;i<b;i++) x+=a-i;      return x;  }  int main(){      int b,s1,s2;      scanf("%d%d%d",&b,&s1,&s2);      if(b<=6) {s1=s1+add(7,b); }      else{          s1=1*(b-6)+7*(b-7)+add(7,6);      }      if(s1>s2) printf("YES");      else printf("NO");      return 0;  }  
//犇犇#include<cstdio>  #include<cmath>  int n,a,b;  int main()  {      scanf("%d%d%d",&n,&a,&b);      if (n<=7) for (int i=0; i<n; i++) a+=7-i;       else {a+=28+(n-7)*8;}       if (a>b)printf("YES");else printf("NO");  }  

3.4 perfect number
这里写图片描述

//小朋友#include<stdio.h>  int pro(int num,int a)  //num为十进制数,a为应转换为的进制数{      int k=0;      for( ;num>0;num/=a)          k+=num%a;      return k;  }  //关键语句,累加进制转换后的各位数字(比照十进制数各位数相加)int main(){      int num;      int a,b;      int pa,pb;      scanf("%d%d%d",&num,&a,&b);      pa=pro(num,a);      pb=pro(num,b);      if(pa==pb) printf("%d is a perfect number.",num);      else printf("%d is not a perfect number.",num);      return 0;  }  
//犇犇 #include<cstdio>  int n,a,b,aa,bb,i;  int main()  {      scanf("%d%d%d",&n,&a,&b);      if (a==0 || b==0) {printf("%d is not a perfect number.",n); return 0;}      for(i=n; i>0; i/=a) aa+=i%a;      for(i=n; i>0; i/=b) bb+=i%b;      if (aa==bb) printf("%d is a perfect number.",n);      else printf("%d is not a perfect number.",n);      return 0;  }  

3.5 odd fibonacci
这里写图片描述

//小朋友#include<stdio.h>  int main(){      int fi;      int num;      int fi1=7,fi2=11;      scanf("%d",&num);      if(num==0) printf("NO\n");      else if(num==1) printf("NO\n");      else{      for(int i=1;i<num;i++)      {          fi=fi1+fi2;          fi1=fi2;          fi2=fi%3; //关键语句,若不%3数据太大会爆     }      if(fi%3==0) printf("YES\n");      else printf("NO\n");  }  return 0;  }  
//犇犇#include<cstdio>  int n,i;  int main()  {      scanf("%d",&n);      if (n==0 || n==1) { printf("NO"); return 0;}      int a=1,b=2,t;      for (i=2; i<=n; i++)      {          t=a+b; a=b; b=t %3;      }      if (b%3==0) printf("YES");else printf("NO");  }  

3.6 ribbon
这里写图片描述

//小朋友#include<stdio.h>  nt main(){  int n,a,b,c;  scanf("%d%d%d%d",&n,&a,&b,&c);  int arr[10086]={0};  for(int i=0;i<n;i++)  //听说要用动规算法if (i==0 || arr[i]!=0)  {      arr[i+a]=arr[i]+1;      arr[i+b]=arr[i]+1;      arr[i+c]=arr[i]+1;  }  printf("%d",arr[n]); return 0;} 
//犇犇#include<cstdio>  int n,a,b,c,f[8500];  int max(int a,int b) { return a>b? a:b;}  int main() {      scanf("%d%d%d%d",&n,&a,&b,&c);      int i;      for (i=0; i<n; i++)      if (i==0 || f[i]!=0)  //听说这是动规普遍打法     {                f[i+a]=max(f[i+a],f[i]+1);                f[i+b]=max(f[i+b],f[i]+1);                f[i+c]=max(f[i+c],f[i]+1);       }       printf("%d",f[n]);  }  

3.7 game
这里写图片描述

这里写图片描述

//小朋友#include<stdio.h>  int main(){      int num;  //起始选手    int n;  //题数    int d;  //每题耗时    char c;      int time=0;      scanf("%d%d",&num,&n);      for(int i=1;i<=n;i++)      {          scanf("%d",&d);          scanf("%c%c",&c,&c);  //注意空格        time+=d;          if(time>=210) break;          if(c=='T') num++,num %=(num>8? 8:9);       }      printf("%d\n",num);      return 0;  }  
//犇犇#include<cstdio>  int k,n,i,q,ans;  char c;  struct lll{         int time;         char type;         } question[200];  int main()  {      scanf("%d%d%c",&k,&n,&c);      for (i=210; i>0; )      {          scanf("%d%c%c",&q,&c,&c);          i-=q;          if (i<=0) ans=k;           if (c=='T')k++;      }      ans%=8; ans= ans==0? 8:ans;      printf("%d",ans);  }  

3.8 beautiful decoration
这里写图片描述

//小朋友#include<stdio.h>  int main(){      int n;      char c;      int i,j;      int k=1;      scanf("%d %c",&n,&c);      for(j=0;j<n;j++)      {      for(i=0;i<2*n-1;i++) printf(" ");      printf("%c",c);      printf("\n");      }      for(j=1;j<n;j++)      {          for (i=0;i<2*n-j;i++) printf(" ");          for (i=1;i<=j;i++) printf("%d",i);          for (i=j-1; i>=1; i--) printf("%d",i);          printf("\n");      }          for (i=0;i<n;i++) printf("%c",c);          for (i=1;i<=j;i++) printf("%d",i);          for (i=j-1;i>=1;i--) printf("%d",i);          for (i=0;i<n;i++) printf("%c",c);          printf("\n");      for(j=n-1;j>=1;j--)      {          for (i=0;i<2*n-j;i++) printf(" ");          for (i=1;i<=j;i++) printf("%d",i);          for (i=j-1; i>=1; i--) printf("%d",i);          printf("\n");      }      for(j=0;j<n;j++)      {      for(i=0;i<2*n-1;i++) printf(" ");      printf("%c",c);      printf("\n");      }  }  
//犇犇 #include<cstdio>  int n,i,j;  char c;  int main()  {      scanf("%d%c%c",&n,&c,&c);      for (i=0; i<n; i++)       {          for (j=1; j<n*2; j++) printf(" ");          printf("%c\n",c);      }      for (i=1; i<n; i++)      {          for (j=1;j<=n*2-i; j++) printf(" ");          for (j=1; j<=i; j++) printf("%d",j);          for (j=i-1;j>=1; j--) printf("%d",j);          printf("\n");      }      for (i=0; i<n; i++) printf("%c",c);      for (i=1; i<=n; i++) printf("%d",i);      for (i=n-1; i>=1; i--) printf("%d",i);      for (i=0; i<n; i++) printf("%c",c);      printf("\n");         for (i=n-1; i>=1; i--)      {          for (j=1;j<=n*2-i; j++) printf(" ");          for (j=1; j<=i; j++) printf("%d",j);          for (j=i-1;j>=1; j--) printf("%d",j);          printf("\n");      }      for (i=0; i<n; i++)       {          for (j=1; j<n*2; j++) printf(" ");          printf("%c\n",c);      }  }  
0 0
原创粉丝点击