题目描述
写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
输入
一个数
输出
如果是素数输出prime 如果不是输出not prime
原题链接:C语言程序设计教程(第三版)课后习题8.3
http://www.dotcpp.com/oj/problem1029.html 建议PC端进入网站 1029题
解题思路: 用N从2开始除N前面的数。
如果有一个数能够被N整除,即余数为0,那么N就不是素数。
如果前面的数都不能被N整除,那么N就是素数。 思路有了,那就来实现,先定义一个flag,并初始化为1,然后弄一个for循环
如果N%i为0,把flag的值改为0,然后输出不是素数,退出循环。
如果完成了for循环,flag的值还是为1,那么N就是素数,输出是素数。
参考代码:
#include<iostream>
using namespace std;
int main()
{
int i, N, flag=1; //定义一个标记,并且初始化为1
cin >> N;
for (i = 2; i < N; i++) //从2开始
{
if (N%i == 0) //如果一个数能被N整除,那么N就不是素数
{
flag = 0; //flag为0
cout << "not prime"; //输出not prime
break; //退出循环
}
}
if (flag==1) //如果flag为1,即N为素数
cout << "prime"; //输出prime
return 0;
}
以上出自我站asdlbj 大神的文章,欢迎大家点击原文进入大神博客评论交流!
也可以后台回复题号查看更多题解!