80分QAQ,跪求dalao指点

P1618 三连击(升级版)

thethe99 @ 2018-03-10 21:24:28

程序为什么只有80分,本萌新很桑心

抱紧dalao滴大腿

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    int s,b,c,i,j,k,h,t,v=0;
    int a[10];
    scanf("%d%d%d",&s,&b,&c);
    for(i=123;i*c<988;i++)
    {
        if(i%s==0)
        {
            memset(a,0,sizeof(a));
                a[i%10]=1;
                a[i%100/10]=1;
                a[i/100]=1;
                j=i/s*b;
                a[j%10]=1;
                a[j%100/10]=1;
                a[j/100]=1;
                k=i/s*c;
                a[k%10]=1;
                a[k%100/10]=1;
                a[k/100]=1;
        }
        for(h=1,t=0;h<10;h++)
        {
            t+=a[h];
            if(t==9)
            {
                printf("%d %d %d\n",i,j,k);
                v=1;
            }
        }
    }
    if(v==0)
        printf("No!!!");
    return 0;
}

by Anguei @ 2018-03-10 21:37:13

我还以为是 lhy 或 hss 发帖了。


by thethe99 @ 2018-03-10 22:00:26

错了,发错了QAQ,抱歉

#include<cstdio>
using namespace std;
int main()
{
    int s,b,c,i,j,k,h,t,v=0;
    int a[10];
    scanf("%d%d%d",&s,&b,&c);
    for(i=123;i*c<988;i++)
    {
        if(i%s==0)
        {
            for(h=1;h<10;h++)
            {
                a[h]=0;
                a[i%10]=1;
                a[i%100/10]=1;
                a[i/100]=1;
                j=i/s*b;
                a[j%10]=1;
                a[j%100/10]=1;
                a[j/100]=1;
                k=i/s*c;
                a[k%10]=1;
                a[k%100/10]=1;
                a[k/100]=1;
            }
        }
        for(h=1,t=0;h<10;h++)
        {
            t+=a[h];
            if(t==9)
            {
                printf("%d %d %d\n",i,j,k);
                v=1;
            }
        }
    }
    if(v==0)
        printf("No!!!");
    return 0;
}

by namespace_std @ 2018-03-11 21:11:12

@thethe99 你写a[h]=0的时候会把前面已经标记的数删掉......

先写

for(i=1;i<10;i++>)

   a[i]=0;

再 qing 去修改a[i]吧


by thethe99 @ 2018-03-12 22:52:10

@namespace_std 谢谢啦


by thethe99 @ 2018-03-14 22:08:16

@namespace_std 谢谢你,可是还是不对呀......(逃


by namespace_std @ 2018-03-23 18:47:26

@thethe99

err......(5天没上线就变成了蓝名TAT)请问

 for(i=123;i*c<988;i++)

i为什么要*c呢?


by thethe99 @ 2018-03-25 20:30:02

@namespace_std 乘c倍呀


|