(一)
分析代码
研究对象为整数
1,如果输入0或负整数,输出"错误!你没有输入正整数"
2,如果输入1,输出"1既不是素数,也不是合数"
3,如果输入大于1的正整数,则进行判断,
a)如果该正整数被判定为合数,则输出
" 是合数"
b)如果该正整数被判定为素数,则输出
" 是素数"
(二)
素数的判定原则
对于大于1的正整数x进行判定,
x 对从2开始到x-1的正整数取余数,即x对 2,3,4,5,......,x-1 取余数得到若干余数
如果(2,x-1) ,0,则x为素数
等价于
如果 0(i from 2 to x-1),则x为素数
如果(2,x-1), =0,则x为合数
等价于
如果 =0(i from 2 to x-1),则x为合数
(三)
实现代码
#include <iostream>
using namespace std;
int main()
{
int a;
cout << "输入一个正整数 :" << endl;
cin >> a;
if (a <=0)
{
cout << "错误!你没有输入正整数" << endl;
}
if (a == 1)
{
cout << "1既不是素数,也不是合数" << endl;
}
if(a>1)
{
int i;
int j;
int k;
k = 1;
for (i = 2; i < a; i++)
{
j = a % i;
k = k * j;
}
if (k == 0)
{
cout << a << " 是合数" << endl;
}
else
{
cout << a << " 是素数 " << endl;
}
}
}