第四节 练习8
程序员文章站
2024-03-11 19:48:01
...
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int isZs(int i){
int x=2;
while(x <= floor(sqrt(i)) && (i%x !=0)){ //质数 取补 => 合数
//合数 有1反例即可 -> 好求啊!
x++;
}
if (x > (floor(sqrt(i))) ){
return 1; //是质数
}else{
return 0; //不是质数
}
}
int main()
{
int n;
float otherI=0; //相除可能为小数,但have problem?
cout << "输入:";
cin >> n;
int i=1;
while(i <= floor(sqrt(n)) ){
if(isZs(i)){
otherI = (n*1.0) / i; //两个都要为质数,现在判断另一个
if(isZs(otherI)){
cout << otherI;
break;
}
}
i++;
}
return 0;
}
//cout << "输入:";