问题标题: 酷町堂:4906

0
0

0
已采纳
郝品希
郝品希
高级守护
高级守护

用for(循环枚举10000到99999){

     int j;

    if(i%j==0){

        j=i/n;

    }

    f(i);

    f(j);

bool flag=true;

    for(int l=0;l<=9;++){

        if(a[l]!=1){

            flag=false;

        }

}

if(flag){

    cnt++;

}

for(int l=0;l<=9;l++){

    a[l]=0;

}

 

 

 

void f(int x){

    a[x%10]++;

    a[x/10%10]++;

    a[x/100%10]++;

    a[x/1000%10]++;

    a[x/10000%10]++;

}

郝品希在2022-08-04 11:22:55追加了内容

输出cnt

郝品希在2022-08-04 11:28:28追加了内容

定义

郝品希在2022-08-04 11:29:12追加了内容

else{

    continue;

}

郝品希在2022-08-04 11:34:03追加了内容

所有的都在第一个循环内

郝品希在2022-08-04 11:43:05追加了内容
  • #include<iostream>
  • #include<cstdio>
  • #include<cmath>
  • #include<algorithm>
  • #include<cstring>
  • #include<string>
  • using namespace std;
  • int a[15];
  • void f(int x){
  • a[x%10]++;
  • a[x/10%10]++;
  • a[x/100%10]++;
  • }
  • int main()
  • {
  • for(int i=123;i<=987/3;i++){
  • int j=2*i;
  • int k=3*i;
  • f(i);
  • f(j);
  • f(k);
  • bool flag=true;
  • for(int l=1;l<=9;l++){
  • if(a[l]!=1){
  • flag=false;
  • }
  • }
  • if(flag){
  • cout<<i<<" "<<j<<" "<<k<<endl;
  • }
  • for(int l=1;l<=9;l++){
  • a[l]=0;
  • }
  • }
  • return 0;
  • }
  • 用这个改一改
0
郭梓强
郭梓强
初级光能
初级光能

 

for(int i=10000;i<=99999;i++){

int j;

if(i%j==0){

j=i/n;

}else{

continue;

}

f(i);

f(j);

bool f=true;

for(int l=0;l<=9;l++){

if(a[l]!=1){

f=false;

}

}

if(f){

cnt++;

}

memset(a,0,sizeof(a));

}

 

0
郭梓强
郭梓强
初级光能
初级光能

@郝品希 你把定义发一下,我应该没错

0
我要回答