60分飘过,感觉没问题,求大佬帮忙

P1618 三连击(升级版)

小lagi @ 2020-01-04 20:14:18


#include<stdio.h>
int ischong(int n1,int n2,int n3)
{
    int a[3],b[3],c[3];//分别存储第一二三个数值
    int i=2,j=2,k=2,flag1=0,flag2=0,flag3=0,flag4=0;
    while(n1>0||n2>0||n3>0)//对应到各个数组中
    {
        a[i--]=n1%10;
        b[j--]=n2%10;
        c[k--]=n3%10;
        n1/=10;
        n2/=10;
        n3/=10;
    }
    for(i=0;i<=2;i++)//排除掉存在0的情况
        if(a[i]==0||b[i]==0||c[i]==0)
        {
            flag4=1;
            break;
        }
    if(flag4==0)//在数组中没有0的情况下继续走
    {
    for(i=0;i<=2;i++)
        {
        for(j=0;j<=2;j++)
            {
            for(k=0;k<=2;k++)//判断是否有相同值
                if(a[i]==b[j]||a[i]==c[k]||b[j]==c[k])
                {
                    flag1=1;
                    break;
                }
            if(flag1==1)
            {
                flag2=1;
                break;
            }
            }
        if(flag2==1)//实现逐步跳出循环
            break;
        }
    }
    if(a[0]<b[0]&&b[0]<c[0])//第一个数从小到大排
        flag2=0;
    else
        flag2=1;
    if(flag2||flag1||flag4)//只要任意一种不符合
        return 0;
    else
        return 1;
}
int weishu(int m,int n)//判断数值位数不能超过三
{
    int p=0,q=0;
    while(m>0)
    {
        p++;
        m/=10;
    }
    while(n>0)
    {
        q++;
        n/=10;
    }
    if(p==3&&q==3)
        return 1;
    else
        return 0;
}
int main()
{
    int i,j,k,n,m,q,p,flag1=0;
    scanf("%d%d%d",&m,&q,&p);
    for(i=1;i<=9;i++)
        for(j=1;j<=9;j++)
                for(k=1;k<=9;k++)
                    if(i!=j&&j!=k&&i!=k)
                    {
                        n=i*100+j*10+k;
                        if(weishu(n/m*q,n/m*p))
                        {
                        if(ischong(n,n/m*q,n/m*p))//倍数求各值
                            {
                            flag1=1;
                            printf("%d %d %d\n",n,n/m*q,n/m*p); 
                            }
                        }
                    } 
    if(flag1==0)
        printf("No!!!");
    return 0;
}```

by lu_fish @ 2020-01-04 20:20:20

橙题这么多?


|