问题标题: 酷町堂:5067 余数为1

0
0
已解决
李素妍
李素妍
新手天翼
新手天翼

#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int count[15];
int main() {
    int x=0;
    for(int i=sqrt(2000);i<=sqrt(9999);i++){
        for(int j=sqrt(2);j<=sqrt(9);j++){
            for(int k=sqrt(200);k<=sqrt(999);k++){
                memset(count,0,sizeof(count));
                bool f=1;
                count[i%10]++;
                count[i%100/10]++;
                count[i/100%10]++;
                count[i/1000]++;
                count[j]++;
                count[k/100]++;
                count[k%10]++;
                count[k%100/10]++;
                for(int t=2;t<=9;t++){
                    if(count[t]==0) f=0;
                }
                if(f==1&&i%j==1&&i/j==k)cout<<i<<" "<<j<<" "<<k<<endl; 
            }
        }
    }
    return 0;
}

@赵朗 你回答出来加豆


0
已采纳
包涵宇
包涵宇
中级天翼
中级天翼

去掉sqrt答案是对的,但时间复杂度是O(10^9),会超时;

懒得改了

直接输出

2584 7 369
4852 7 693
5923 7 846
7435 9 826

即可AC

望采纳!

0
我要回答