问题标题: 酷町堂:5067求思路与核心!!!

0
0
已解决
徐子玄
徐子玄
初级光能
初级光能

067   余数为1经验值:0

题目描述 Description

image.png
将2–9填入空白处,每个数字只能用一次,使得等式成立。
输出所有满足条件的式子。

输入描述 Input Description

输出描述 Output Description

输出多行,每行三个数字,表示使得等式成立的四位数,一位数,三位数。
有多少组解输出多少行
多组解输出的顺序,按照字典序从小到大输出

样例输入 Sample Input

样例输出 Sample Output

2584 7 369 ......

徐子玄在2020-08-07 17:55:43追加了内容

各位看下我的WA代码,改下错。

#include <iostream>
#include <cstring>
using namespace std;
int count[7000];
int main() {
    int x=0;
    for(int i=1000;i<=9999;i++){
        for(int j=1;j<=9;j++){
                count[i%10]++;
                count[i%100/10]++;
                count[i/100%10]++;
                count[i/1000]++;
                count[j]++;
                count[(i/j)/100]++;
                count[(i/j)%10]++;
                count[(i/j)%100/10]++;
                    for(int i=2;i<=9;i++){
                        if(count[i]==1){
                            x++;
                        }
                    }
                    if(x==8){
                        cout<<i<<" "<<j<<" "<<i/j<<endl;
                    }
                x=0;
                for(int i=1;i<=9;i++){
                    count[i]=0;
                }
        }
    }
    return 0;
}

 


0
已采纳
邹昊轩
邹昊轩
资深光能
资深光能

hahahaha上整段代码!

天空一声巨响,代码闪亮登场!

这题要用两重循环,分别从2~9,234~987.

定义k和b数组

    k=i*j+1;
            memset(b,0,sizeof(b));

//下面是统计个位数。
                b[i/100]++;
                b[i%100/10]++;
                b[i%10]++;
                b[j]++;
                b[k/1000]++;
                b[k%100/10]++;
                b[k%10]++;
                b[k/100%10]++;
            bool flag=false;
            for(l从2到9){
                if(b[l]不等于1){
                    flag=true;
                    断绝本循环(不要用return 0)
                }
            }
            如果(!flag&&k大于2345){
                输出<<k<<" "<<j<<" "<<i<<endl;
            }

不要直接抄,要懂。

 

 

 

不要抄袭;

抄了被批   //老师发现你在抄袭

没抄被打  //爸爸生气,你竟然没写题目!!!

接着——————(场面过于血腥)

 

 

0
0
0
王子健
王子健
初级天翼
初级天翼

直接枚举所有可能性

 

但不只是枚举那么简单,还要填数

0
0
我要回答