0
已解决
李素妍
新手天翼
新手天翼
李素妍在2020-08-03 14:56:26追加了内容
#include <iostream>
using namespace std;
int main(){
int t=1;
for(int i=100;i<=999;i++){
int ge=i%10,shi=i/10%10,bai=i%100;
if((ge*shi)+36==i*i||(ge*bai)+36==i*i||(shi*bai)+36==i*i){
cout<<i<<endl;
t=0;
}
}
if(t==1)cout<<0;
return 0;
}
1
已采纳
康曦
中级光能
中级光能
核心
bool kx(int t){
if(abs(sqrt(t)-int(sqrt(t)))<=0.000001)
return true;
return false;
}
int main(){
int a=0,b=0,c=0,x=0,y=0;
for(int i=100;i<=999;i++){
a=0;
b=0;
c=0;
a=i%10;
b=i/10%10;
c=i/100;
if(kx(a*b+36)&&kx(a*c+36)&&kx(c*b+36)){
cout<<i<<endl;
x=1;
}
}
if(x==0) cout<<0;
return 0;
1
黄子扬
初级天翼
初级天翼
您要知道,完全平方数是1,4,9,16之类的,所以,我们只需要判断sqrt是不是整数就行
int(sqrt)-sqrt==0,就是完全平方数,蔡乐毅的是完全不严谨的
黄子扬在2020-08-03 14:54:51追加了内容
您把代码发一下,我帮您修改
黄子扬在2020-08-03 14:58:14追加了内容
再说一下,您的十位数和百位数取位数取错了
黄子扬在2020-08-03 15:00:07追加了内容
我笑了,sqrt(36)==6,没有小数部分,建议你下载个C++试试,真的,不要钱@楼上
黄子扬在2020-08-03 15:39:21追加了内容
@赵逸凡
0