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;}
相关推荐
C++ 老炮儿的技术栈4 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl4 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628884 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
AI科技星4 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
波特率1152005 小时前
const关键字与函数的重载
开发语言·c++·函数重载
条tiao条5 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法
干啥啥不行,秃头第一名5 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
zzh940776 小时前
Gemini 3.1 Pro 硬核推理优化剖析:思维织锦、动态计算与国内实测
算法
2301_807367196 小时前
C++中的解释器模式变体
开发语言·c++·算法
愣头不青6 小时前
617.合并二叉树
java·算法