问题标题: 酷町堂:4543 三个完全平方数 找错

0
0
已解决
李瑞曦
李瑞曦
高级天翼
高级天翼

嘤嘤嘤

写到一半不会了

😭😭😭

求帮助

#include<iostream>
using namespace std;
int b[111111];
bool wq(int s){
    if(abs(sqrt(s)-(int)sqrt(s)<=0.0000001)){
        return true;
    }
    return false;
}
int main(){
    for(int i=10;i<=99;i++){
        for(int j=100;j<=999;j++){
            for(int k=1000;k<=9999;k++){
                if(wq(i)==1&&wq(j)==1&&wq(k)==1){
                    if(  )
                }
            }
        }
    }
}

 

李瑞曦在2020-08-04 14:37:39追加了内容

ding~

李瑞曦在2020-08-04 15:00:20追加了内容

加悬赏了!!!!

李瑞曦在2020-08-04 15:30:32追加了内容
#include <iostream>
#include <cmath>
#include<cstring>
using namespace std;
int b[11111];
bool wq(int s){
    for(int i=1;i<=s;i++){
        if(abs(sqrt(i)-(int)sqrt(i))<=0.000001){
           return true;
        }
    }
    return false;
}
void dd(int ss){
    int a=ss;
    while(a){
        b[a%10]++;
        a/=10;
    }
}
bool ff(){
    for(int i=1;i<=9;i++){
        if(b[i]==0|b[i]>1){
            return false;
        }
    }
    return true;
}
int main(){
    for(int i=10;i<=99;i++){
        for(int j=100;j<=999;j++){
            for(int k=1000;k<=9999;k++){
                if(wq(i)&&wq(j)&&wq(k)){
                   dd(i);
                   dd(j);
                   dd(k);
                   if(ff()==1){
                       cout<<i<<" "<<j<<" "<<k<<endl;
                   }
                }
                memset(b,0,sizeof(b));
            }
        }
    }
    return 0;
}

 

李瑞曦在2020-08-04 15:30:55追加了内容

不输出,大佬帮忙

李瑞曦在2020-08-04 16:07:10追加了内容

555~超时

#include<iostream>
#include<cmath>
using namespace std;
int a[10];
bool wq(int s){
    for(int i=1;i<=s;i++){
        if(abs(sqrt(i)-(int)sqrt(i))<=0.000001){
           return true;
        }
    }
    return false;
}
bool pd(int t1,int t2,int t3){
    int p1=t1,p2=t2,p3=t3;
    while(p1){
        a[p1%10]++;
        p1/=10;
    }
    while(p2){
        a[p2%10]++;
        p2/=10;
    }
    while(p3){
        a[p3%10]++;
        p3/=10;
    }
    for(int i=1;i<=6;i++){
        if(a[i]==0){
            return false;
        }
    }
    return true;
}
int main(){
    for(int i=10;i<=99;i++){
        for(int j=100;j<=999;j++){
            for(int k=1000;k<=9999;k++){
                if(pd(i,j,k)==1&&wq(i)&&wq(j)&&wq(k)){
                    cout<<i<<" "<<j<<" "<<k<<endl;
                }
                for(int o=1;o<=9;o++){
                    a[o]=0;
                }
            }
        }
    }
}

 

李瑞曦在2020-08-04 16:33:05追加了内容

ding


0
已采纳
赵朗
赵朗
高级光能
高级光能

看李素妍的帖子我的回答

0
邓涵睿
邓涵睿
中级天翼
中级天翼

其实说实话,我真没学过

但是还是有那么亿点点的思路滴~

你在你的bool自定义函数内写一个for循环,判断i*i等不等于n,return true;

不然的话return false;

最后函数内判断,我真的不知道了

望采纳~

 

0
黄子扬
黄子扬
初级天翼
初级天翼

模拟即可,判断每个位数,类似三连击

0
江见匀
江见匀
新手光能
新手光能

if(b[i]==0||b[i]>1){

 

return false;

 

}

0
杜智宸
杜智宸
中级光能
中级光能

函数里那个或者少打了一个“|”

我要回答