判断质数
题目描述
质数是指除了1和本身之外没有其他约数的数,如7和11都是质数,而6不是质数,因为6除了约数1和6之外还有约数2和3。输入一个正整数,判断它是否为质数,如是质数则输出“Yes”,否则输出这个数的大于1的最小的约数。
输入
仅有一行包含一个正整数n,其中 1 < n < 1000000
输出
仅有一行,如果从输入文件读入的数是质数则输出“Yes”,否则输出这个数的大于1的最小的约数。
样例输入 Copy
2009
样例输出 Copy
7
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,n;
cin>>n;
for(i=2;i*i<=n;i++)
if(n%i==0)//i是n的因数
{cout<<i;//输出
return 0;
}
cout<<"Yes";//是素数
return 0;
}