原题链接:[编程入门]自定义函数处理素数
解题思路:
用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;
}0.0分
3 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#include<iostream> #include"cmath" #include <iomanip> using namespace std; void Judge(int a){ for (int i=2;i<=a;i++){ if(a%i==0&&a!=i) { cout << "not prime" << endl; } else if(a%i==0&&a==i){ cout<<"prime"<<endl; } } } int main(){ int a; cin>>a; if(a>1) { Judge(a); } if (a<=1){ cout<<"not prime"<<endl; } return 0; } 为什么答案错误