C/C++ 有关质数(素数)的问题

第一题:判断是否为质数
代码:
复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int a;
    int flag =1;                           //重要
    cin>>a;
		for(int j=2;j<a;j++)
		{
			if(a % j == 0)
			{cout<<a<<"不是质数";
			flag=0;                        //重要
			
			break;
		}}
	    if(flag==1) cout<<a<<"是质数"<<endl;
    return 0;}
重要知识点:上面代码中的flag是超级超级nice的想法
第二题: 输出1-100之间的素数
代码:
cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int i,j;
    for( i=2;i<=100;i++)
    {
        for( j=2;j<i;j++)
		{
			if(i % j==0) break;
		}
		if(i==j) {
		cout<<i<<" ";
	}
	
	}
	
	return 0;
 } 
主要知识点:if语句的使用,两个for循环的嵌套
第三题:输出1-100的素数之和
代码:
cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int i,j;
    int sum=0;
    for( i=2;i<=100;i++)
    {
        for( j=2;j<i;j++)
		{
			if(i % j==0) break;
		}
		if(i==j) {
		sum=sum+i;     //新加的代码 
	}
	
	}
	cout<<sum;
	
	return 0;
 } 
主要知识点:
cpp 复制代码
		if(i==j) {
		sum=sum+i;     //新加的代码 
	}
第四题:
题目:
代码(在第二题代码上改一下就行):
cpp 复制代码
#include <bits/stdc++.h> 
using namespace std;
int main()
{
	int i,j;
	int a,b;
	cin >> a>>b;
	for(i=a;i<=b;i++)      //新添加的代码
	{
		for(j=2;j<i;j++)
		{
			if(i % j == 0)break;
		}
		if(i==j)
	     	cout<<i<<" "; 
	}

    return 0;}
相关推荐
科技苑5 小时前
C++ CAS与ABA问题详解,无锁编程的经典陷阱怎么解决?
c++·人工智能
GoAI6 小时前
DeepSeek Harness Memory (一)主流记忆插件总结
后端·算法·面试
Pniubi6 小时前
力扣54.螺旋矩阵
算法·leetcode·矩阵
Zwawa7 小时前
用两个按键做一个OLED菜单:先把选择和执行分开
c语言·单片机·嵌入式
choumou_M9 小时前
算法_1:由浅入深学习快速排序QuickSort
学习·算法·排序算法
Coder_Shenshen9 小时前
罗克韦尔ACD工程归档离线变量树解析
算法·c#
BaiPeter10 小时前
ZPL文件预览
开发语言·c++
心仪久了会沦陷11 小时前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
小此方11 小时前
[算法实战论:动态规划]背包问题概念,01不满背包问题,01满背包问题,背包问题的滚动数组空间优化
算法·动态规划