-
- 7.3K通过
- 15.7K提交
- 题目提供者CCF_NOI
- 评测方式云端评测
- 标签NOIp普及组2012
- 难度入门难度
- 时空限制1000ms / 128MB
- 提示:收藏到任务计划后,可在首页查看。
最新讨论显示
推荐的相关题目显示
题目描述
已知正整数n是两个不同的质数的乘积,试求出两者中较大的那个质数。
输入输出格式
输入格式:输入只有一行,包含一个正整数n。
输出格式:输出只有一行,包含一个正整数p,即较大的那个质数。
原先思路:从p-2到p/2枚举,能整除就行(题目保证一定有质数,也就是p的因数除了1和本身以外,都是质数)。
错误原因:p/2太少了,把循环改成2至p的平方根,能整除就输出p/i
正确代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int p;
cin>>p;
for(int i=2;i<=sqrt(p);i++)
if(p%i==0)
{
cout<<p/i;
return 0;
}
return 0;
}