为什么总是60

P1618 三连击(升级版)

zhaocongrui123 @ 2019-05-28 16:20:24

include<stdio.h>

int main() { int a,b,c,n,i,j,k,t,s,i1,j1,k1,r[10],flag; s=0; scanf("%d%d%d",&a,&b,&c); for(n=1;n<999;n++) { flag=1; for(t=0;t<10;t++) r[t]=0; i=na; j=nb; k=n*c; i1=i; j1=j; k1=k; if(k>999) break; for(t=0;t<3;t++) { r[i1%10]=1; i1/=10; } for(t=0;t<3;t++) { r[j1%10]=1; j1/=10; } for(t=0;t<3;t++) { r[k1%10]=1; k1/=10; } for(t=1;t<10;t++) { if(!r[t])
{ flag=0; break; } } if(flag) { printf("%d %d %d\n",i,j,k); s=1; }
} if(!s) printf("NO!!"); }


by 松风之狐 @ 2019-05-28 16:33:05

希望更丰富的展现?使用Markdown


by SetsunaFSeiei @ 2019-05-28 16:41:07

@zhaocongrui123

你能不能发一个清晰一点的,这真的看不清


by 超级小周 @ 2019-05-28 17:16:42

帮你Markdown好了

#include<stdio.h>
int main(){
    int a,b,c,n,i,j,k,t,s,i1,j1,k1,r[10],flag;
    s=0; 
    scanf("%d%d%d",&a,&b,&c);
    for(n=1;n<999;n++){
    flag=1;
    for(t=0;t<10;t++)
    r[t]=0;i=na;j=nb;k=n*c;i1=i;j1=j;k1=k;//话说你这里可能错了
    if(k>999)break;
    for(t=0;t<3;t++)
    {r[i1%10]=1;i1/=10;}
    for(t=0;t<3;t++)
    {r[j1%10]=1;j1/=10;}
    for(t=0;t<3;t++)
    {r[k1%10]=1;k1/=10;}
    for(t=1;t<10;t++) 
    {if(!r[t])
    {flag=0;break;}
}
if(flag)
{printf("%d %d %d\n",i,j,k);s=1;}
}
if(!s)printf("NO!!");
}

by zhaocongrui123 @ 2019-05-28 20:27:41

@冯不觉 额第一次不会用


by zhaocongrui123 @ 2019-05-28 20:38:38

感谢帮助,没想到我是把'No!!!'错拼成了'NO!!'.....


by zhaocongrui123 @ 2019-05-28 20:39:16

@超级小周 你又帮我改进了一下缩短了几行。


by 超级小周 @ 2019-05-28 20:57:46

@zhaocongrui123 我也提问过这问题,是把No!!!拼成了No!哈哈哈


|