#include //洛谷万能头文件
using namespace std;
//质因数分解
//找出一个数的两个质数乘积
//输出两质数中比较大的那一个
//对于这种有多个条件且复杂的题目一定要想到用函数解决
bool fun(int n)//函数;当输入质数就返回true否则false,质数为只有1和它本身为因数的数
{if (n <= 1) {//注意特殊判定return false;}for (int i = 2; i <= sqrt(n); i++) {//优化超过一个数的一半就不会出现因数所以优化i> n;//首先遍历出n的因数//利用bool函数筛选出是质数的因数for (int i = 2; i <= n; i++) {if (n % i == 0)//如果i是n的因数{if (fun(i) && fun(n / i))//利用上面的bool判断语句来判断cout << n / i;//因为首先遍历到的因数一定是比较小的因数所以除出来的数是比较大的因数break;}}}
//提交代码会超时,要优化代码
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!