欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第四节 练习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 << "输入:";

结果:

第四节 练习8第四节 练习8第四节 练习8