已知正整数 n是两个不同的质数的乘积,试求出较大的那个质数 .输入输入只有一行,包含一个正整数 n.输出输出只有一行,包含一个正整数p,即较大的那个质数.样例输入21样例
已知正整数 n是两个不同的质数的乘积,试求出较大的那个质数 .输入输入只有一行,包含一个正整数 n.输出输出只有一行,包含一个正整数p,即较大的那个质数.样例输入21样例输出7用pascal解
已知正整数 n是两个不同的质数的乘积,试求出较大的那个质数 .输入输入只有一行,包含一个正整数 n.输出输出只有一行,包含一个正整数p,即较大的那个质数.样例输入21样例输出7用pascal解
for(i=n>>1;i>2;i--) if(n%i==0 && prime(i) && prime(n/i)){//符合要求则输出 cout << "The result is " << i << endl; break; } if(i<3)//找不到则输出提示 cout << "No such number...\n"; break; } cout << "Error, must be n<=2E9, redo: ";//若输入错误则要...
include<bits/stdc++.h> using namespace std;int n;bool prime(int x){ int y=sqrt(x);for(int i=2;i<=y;i++)if(x%i==0)return false;return true;} int main(){ scanf("%d",&n);for(int i=1;1;i++)if(prime(i))if(n%i==0){ printf("%d\n",n/i);return 0;} ...
记录c++ 质因数分解 描述已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。 输入输入只有一行,包含一个正整数 n。 对于60%的数据,6 ≤ n ≤ 1000。对于100%的数据,6 ≤ n ≤ 2*10^9。输出输...
20200813质因数分解 --已知正整数n是两个不同的质数的乘积,试求出较大的那个质数 (奥赛一本通 P71 8) #include <bits/stdc++.h> using namespace std; int n=0; int a; int main() { scanf("%d",&n); for(int i=2;i<=sqrt(n);i++)...
fun( int n ){ int i;for( i=2;i<n;i++ )if( n%i==0 )return 0;return 1;} main(){ int n,i;scanf("%d",&n);for( i=2;i<=n;i++ ){ if( n%i==0 && fun(i) && fun(n/i) ){ printf("%d",i>n/i?i:n/i);break;} } } ...
n%2==0 不意味着n/2一定是质数 后面循环的也没有考虑这种情况还有其实不需要判断n%2是否为0直接循环emm..还有就是不知道你学了自创函数没有可以自己编一个判断质数的函数鸭这样就会方便许多啦话不多说,上我的程序 虽然超时了(划掉,NOIP平台TLE两个点) 可以参考一下#include<cstdio>#include<cmath>using ...
可以这么解决://#include "stdafx.h"//If the vc++6.0, with this line.#include <iostream>using namespace std;bool prime(int n){//判断是不是质数 int i; if(n>2 && !(n&1) || n<2) return false; for(i=3;i*i<=n;i+=2) if(!(n%i)) return fal...