zoukankan      html  css  js  c++  java
  • 带分数问题

    用1~9组成       B
                     k=A——
                            C
    九个数字必须全用
    #include<cstdio>
    using namespace std;
    int n;bool shuchu=0;
    bool cha(int i,int j)
    {
        bool ji[11]={0};
        if(i>=10&&i/10!=i%10&&i/10!=0&&i%10!=0)
        {
            ji[i/10]=1;
            ji[i%10]=1;
        }
        if(i>=10&&(i/10==i%10||i/10==0||i%10==0))
        return 1;
        if(i<10)
        {
            ji[i]=1;
        }
        int jii=j*(n-i);
        while(jii)
        {
            if(ji[jii%10]==1||jii%10==0)
            {
                return 1;
            }
            ji[jii%10]=1;
            jii/=10;
        }
        while(j)
        {
            if(ji[j%10]==1||j%10==0)
            return 1;
            ji[j%10]=1;
            j/=10;
        }
        for(int i=1;i<10;i++)
        {
            if(ji[i]==0)
            return 1;
        }
        return 0;
    }
    int weishu(int k)
    {
        int jii=0;
        while(k!=0)
        {
            jii++;k/=10;
        }
        return jii;
    }
    int printt(int k)
    {
        int jii=weishu(k);
        for(int i=0;i<jii;i++)
        {
            printf("-");
        }
        printf(" ");
        return jii;
    }
    void print(int shu,int zhi)
    {
        int jishu=3;
        if(n==100)
        jishu++;
        if(n<10)
        jishu--;
        if(shu>=10)
        {
            jishu++;
        }
        if(zhi>=10)
        {
            jishu++;
        }
        for(int i=0;i<jishu;i++)
        {
            printf(" ");
        }
        printf("%d ",(n-shu)*zhi);
        printf("%d=%d",n,shu);
        int jish=printt((n-shu)*zhi);
        int jjshu=weishu(zhi);
        for(int i=0;i<jish+jishu-jjshu;i++)
        {
            printf(" ");
        }
        printf("%d ",zhi);
    }
    void fen()
    {
        for(int i=1;i<n;i++)
        {
            for(int j=1;j<5000;j++)
            {
                if(cha(i,j)==0)
                {
                    shuchu=1;
                    print(i,j);
                }
            }
        }
    }
    int main()
    {
        scanf("%d",&n);
        while(n!=0)
        {
            shuchu=0;
            fen();
            if(shuchu==0)
            {
                printf("impossible ");
            }
            scanf("%d",&n);
        }
    }
  • 相关阅读:
    矩阵游戏|ZJOI2007|BZOJ1059|codevs1433|luoguP1129|二分图匹配|匈牙利算法|Elena
    BZOJ3262: 陌上花开
    BZOJ1176: [Balkan2007]Mokia
    BZOJ1261: [SCOI2006]zh_tree
    BZOJ2004: [Hnoi2010]Bus 公交线路
    BZOJ1066: [SCOI2007]蜥蜴
    BZOJ1294: [SCOI2009]围豆豆Bean
    BZOJ2756: [SCOI2012]奇怪的游戏
    BZOJ1857: [Scoi2010]传送带
    BZOJ1237: [SCOI2008]配对
  • 原文地址:https://www.cnblogs.com/fanhao050109/p/11197323.html
Copyright © 2011-2022 走看看