c++输出两个数中的素数

求m~n间的所有素数

【问题描述】
输入两个正整数m和n(1<cm,n<=500),输出m和a之间的所有素数,每行输出6个。素数是指只能横1和自身整除的正整数
【样例说明】
每行输出6个正整数,每个正整数占4字符.右对齐,
输入提示符后要加一个空格。其中”:“后要加一个且只能一个空格。
英文字母区分大小写。必须严格按样例输入输出。

你题目的解答代码如下:

#include <iostream> //控制台操作头文件
#include <math.h>   //数学函数头文件

int isprime(int a) //质数判断函数(质数返回1,否则0)
{
    if (a < 2)
        return 0; //小于2的数都不是质数,返回0
    if (a == 2)
        return 1;            //2是特殊的质数
    int i, n = (int)sqrt(a); //n是除数,开方可以减少检测个数
    for (i = 2; i <= n; i++) //逐个检测能不能被整除
        if (a % i == 0)
            return 0; //如果能被整除说明不是质数, 返回0;
    return 1;
} //检测完了还没可以被整除的数,返回1

int main() //主函数
{
    int i, a, b, m=0;                        //循环变量和任意两个数
    printf("请输入起点:");             //显示提示信息
    scanf("%d", &a);                    //输入起点数值
    printf("请输入终点:");             //显示提示信息
    scanf("%d", &b);                    //输入终点数值
    printf("%d-%d之间的素质有:\n", a, b); //显示提示信息
    for (i = a; i <= b; i++)            //用循环逐个找出[a-b]之间的素数
        if (isprime(i))
        {
            printf("%4d", i); //如果是素数则输出
            if (++m % 6 == 0)
                printf("\n");             //换行
        }
    return 0;
} //结束程序
 

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632