算法竞赛入门经典课后习题(本人版)

其实还没有验证过。

2-1:水仙花数

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5   for(int i=100;i<=999;i++)
 6    {
 7        int s=0;
 8        for(int j=i;j!=0;j=j/10)
 9        {
10            s=pow(j%10,3)+s;
11        }
12       if(s==i) printf("%d\n",i);
13    }
14     return 0;
15 }

 

2-4:子序列和

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5   int m,n,c=1;
 6   scanf("%d%d",&n,&m);
 7   while(m!=0&&n!=0)
 8   {
 9       double s=0;
10       for(int i=n;i<=m;i++)
11       {
12          s+=1/pow(i,2);
13       }
14 
15       printf("Case %d:%.5f\n",c,s);
16       c++;
17       scanf("%d%d",&n,&m);
18   }
19 
20     return 0;
21 }

 

2-2:韩信点兵

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5   int a,b,c,count=1;
 6   while(scanf("%d",&a)!=EOF)
 7   { scanf("%d",&b);
 8     scanf("%d",&c);
 9     int i;
10     for( i=10;i<=100;i++)
11     {
12         if(i%3==a&&i%5==b&&i%7==c)
13         break;
14     }
15     if(i<=100) printf("Case %d:%d\n",count,i);
16     else printf("Case %d:No Answer\n",count);
17   }
18 
19 
20     return 0;
21 }

 

2-3:倒三角形

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5   int n;
 6   scanf("%d",&n);
 7   for(int i=0;i<n;i++)
 8  {
 9       for(int j=0;j<i;j++)
10      {
11          printf(" ");
12      }
13      for(int j=0;j<2*(n-i-1)+1;j++)
14      {
15          printf("*");
16      }
17       printf("\n");
18  }
19 
20     return 0;
21 }

 

2-5:分数化小数

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5   int a,b,c;
 6   scanf("%d%d%d",&a,&b,&c);
 7   while(a!=0&&b!=0&&c!=0)
 8   {
 9     printf("%d.%.0f\n",a/b,a*1.0/b*pow(10,c));
10     scanf("%d%d%d",&a,&b,&c);
11   }
12     return 0;
13 }

 

2-6:排列

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5   for(int i=1;i<=4;i++)
 6   {
 7     for(int j=1;j<=9;j++)
 8     {
 9       for(int k=1;k<=9;k++)
10       {
11           int s1=i*100+j*10+k;
12           int s2=2*s1%1000;
13           int s3=3*s1%1000;
14         if(i!=j&&i!=k&&i!=s2%10&&i!=s2/10%10&&i!=s2/100&&i!=s3%10&&i!=s3/10%10&&i!=s3/100
15            &&j!=k&&j!=s2%10&&j!=s2/10%10&&j!=s2/100&&j!=s3%10&&j!=s3/10%10&&j!=s3/100
16            &&k!=s2%10&&k!=s2/10%10&&k!=s2/100&&k!=s3%10&&k!=s3/10%10&&k!=s3/100
17            &&s2%10!=s2/10%10&&s2%10!=s2/100&&s2%10!=s3%10&&s2%10!=s3/10%10&&s2%10!=s3/100
18            &&s2/10%10!=s3%10&&s2/10%10!=s3/10%10&&s2/10%10!=s3/100&&s2/10%10!=s2/100
19            &&s2/100!=s3%10&&s2/100!=s3/10%10&&s2/100!=s3/100
20            &&s3%10!=s3/10%10&&s3%10!=s3/100
21            &&s3/10%10!=s3/100)
22         {
23             printf("%d %d %d\n",s1,s2,s3);
24         }
25       }
26     }
27   }
28     return 0;
29 }

 

posted @ 2015-12-01 13:42  cherry_yue  阅读(76)  评论(0)    收藏  举报