算法竞赛入门经典 exe_2

玩几天写几天,效率太低,感觉时间不够用,带着忏悔睡觉……*……

    /*水仙花数
    int i=100;
    int a,b,c;
    while(i<1000)
    {
        a=i/100;
        b=i%100/10;
        c=i%10;
        if(i==a*a*a+b*b*b+c*c*c)
            printf("%d\t",i);
        i++;
    }
    return 0;
    */
    /*hanxin
    int x=10;
    int a,b,c;
    int kase=0;
    while(scanf("%d%d%d",&a,&b,&c))
    {
     while(x<=100)
     {
      if((x-a)%3==0&&(x-b)%5==0&&(x-c)%7==0)
       break;
       x++;
     }
     if(x==101)
      printf("case%d:No answer!",++kase);
     else
      printf("case%d:%d\n",++kase,x);
    }
    return 0;
    */ 

    /*倒三角
    int n;
    scanf("%d",&n);
    int s=1;
    s=s+2*(n-1);
    int t=0;
    for(int i=s;i>=1;i-=2)
    {
        ++t;
        for(int j=i;j>0;j--)
            printf("#");
    printf("\n");
    for(int k=1;k<=t;k++)
    printf(" ");
    }

    return 0;
    */
 /*subsequence
 long long n,m;//一定要long long 注意n*n之后的范围要满足
 int kase=0;
 while(1)
 {
    scanf("%lld%lld",&n,&m);
    if(m==0&&n==0)
    break;
   double s=0.0;
   while(n<=m)
   {
      s+=1.0/(n*n);
      ++n;

   }

   printf("case%d:%.5f",++kase,s);
 }
 */
 /*分数化小数输入整数a,b,c,精确到小数点后c位。c的范围在100以内=====模拟除法过程
#include<stdio.h>  
#include<math.h>  
int main()  
{  
    int a, b, c;  
    int cas=0;  
    while(scanf("%d%d%d", &a, &b, &c))  
    {  
        if(a==0&&b==0&&c==0) break;  
        int x = floor((double)a / b);  
        int i,s;  
        printf("Case %d: %d.", ++cas,x);//输出整数部分  
        for ( i = 1; i < c; i++)  
        {  
            a = a * 10;  
            s = floor((double)a/b);  
            printf("%d", s%10);  
            a = a%b;  
        }  
        a = a * 10;  
        s = floor((double)a / b + 0.5);  
        printf("%d",s);  
        printf("\n");  
    }  
    return 0;  
}
*/

/*用1,2,3.。。。。,9组成三个数abc,def,ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3.按照“abc def
 ghi的格式输出所有解,每行一个解。提示:不必太动脑筋,那就是动手 了
#include<stdio.h>
int main()  
{  
    int a,b,c,d,e,f,g,h,i;  
    int s;  
    for( a=1 ; a<=3 ; ++a ) 
    for( b=1 ; b<=9 ; ++b )
    {
        if(b==a) continue;
    for( c=1 ; c<=9 ; ++c )
    {
        if(c==a||c==b) continue;
    for( d=1 ; d<=9 ; ++d )  
    {
        if(d==c||d==b||d==a)continue;
    for( e=1 ; e<=9 ; ++e )  
    {
        if(e==d||e==c||e==b||e==a) continue;
    for( f=1 ; f<=9 ; ++f )  
    {
        if(f==e||f==d||f==c||f==b||f==a) continue;
    for( g=1 ; g<=9 ; ++g )  
    {
        if(g==f||g==e||g==d||g==c||g==b||g==a) continue;
    for( h=1 ; h<=9 ; ++h )
    {
        if(h==g||h==f||h==e||h==d||h==c||h==b||h==a) continue;
    for( i=1 ; i<=9 ; ++i )  
    {  
        if(i==h||i==g||i==f||i==e||i==d||i==c||i==b||i==a) continue;
        if(g*100+h*10+i<1000&&(g*100+h*10+i==3*(a*100+b*10+c))&&(d*100+e*10+f==2*(a*100+b*10+c)))
        {
            s=a*100+b*10+c;
            printf ("%d %d %d\n",s,2*s,3*s);

        }
    }

    }
    }
    }
    }

    }
    }
    return 0;
}
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值