鱼C论坛

 找回密码
 立即注册
查看: 3154|回复: 7

[已解决]输出100-200之间的所有质数,每行输出5个质数,最终输出该范围内质数的个数。

[复制链接]
发表于 2022-10-28 21:03:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输出100-200之间的所有质数,每行输出5个质数,最终输出该范围内质数的个数。
最佳答案
2022-10-28 21:19:35
c = 0
for n in range(100 , 201):
    for i in range(2 , n):
        if not n % i : break
    else :
        if c:
            print() if not c % 5 else print(' ' , end = '')
        print('%3d' % n , end = '')
        c += 1
print()
print(c) 
    运行实况:
D:\[00.Exerciese.2022]\Python>python x.py
101 103 107 109 113
127 131 137 139 149
151 157 163 167 173
179 181 191 193 197
199
21

D:\[00.Exerciese.2022]\Python>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-28 21:16:11 | 显示全部楼层
def is_prime(x):
    for i in range(2, int(x**0.5)+2):
        if x % i == 0:
            return False
    return True

primes = [i for i in range(100, 201) if is_prime(i)]
count = 0
for i in primes:
    count += 1
    print(i, end = ' ')
    if count == 5:
        print()
        count = 0
print(len(primes))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-28 21:19:35 | 显示全部楼层    本楼为最佳答案   
c = 0
for n in range(100 , 201):
    for i in range(2 , n):
        if not n % i : break
    else :
        if c:
            print() if not c % 5 else print(' ' , end = '')
        print('%3d' % n , end = '')
        c += 1
print()
print(c) 
    运行实况:
D:\[00.Exerciese.2022]\Python>python x.py
101 103 107 109 113
127 131 137 139 149
151 157 163 167 173
179 181 191 193 197
199
21

D:\[00.Exerciese.2022]\Python>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-28 21:26:33 | 显示全部楼层
#include <iostream>
#include <cmath>

bool isPrime(unsigned num) {
        if (num < 2) return false;
        else if (num == 2) return true;
        for (int n = 2; n < sqrt(num) + .5; ++n) if (not(num % n))return false;
        return true;
}

using std::cout, std::endl;
int main(void) {
        for (int num = 100, n = 0; num < 200; ++num) {
                if (isPrime(num)) {
                        n++;
                        cout << num << " ";
                        if (not(n % 5)) cout << endl;
                }
        }
        return 0;
}
101 103 107 109 113
127 131 137 139 149
151 157 163 167 173
179 181 191 193 197
199
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-28 23:33:54 | 显示全部楼层
一下子还真不会写,抄了书上的代码
#include <stdio.h>
#include <math.h>

int main()
{
        int m,i,k,n=0;
        for(m=101;m<=200;m=m+2)
        {
                k=sqrt(m);
                for(i=2;i <= k;i++)
                {
                        if(m%i == 0)        
                                break;
                }

                if(i >= k+1)
                {
                        printf("%4d",m);
                        n=n+1;
                        if((n % 5 == 0))
                        {
                                printf("\n");
                        }
                }
        }
        
        printf(" %d \n",n);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-29 11:41:23 | 显示全部楼层

使用什么编程语言?

本帖最后由 漫星闪 于 2022-10-29 11:43 编辑
for n in range(100,201):
        for x in range(2,n):
                if n % x == 0:
                        print(n,'=',x,'*',n // x)
                        break
        else:
                print(n,'是一个质数')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-29 14:02:40 | 显示全部楼层
int main()
{
        int flag,i,j;
        int count = 0;
        int many = 0;
        for (i=100;i<=200;i++)
        {
                flag = 0;
                for (j=2;j<i;j++)
                {
                        if (i % j == 0) flag = 1;
                }
                if (flag == 0)
                {
                        printf("%d",i);
                        if (count != 5) printf(" ");
                        many++;
                        count++;
                }
                if (count == 5)
                {
                        printf("\n");
                        count = 0;
                }
        }
        printf("\n%d\n",many);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-6 18:56:39 | 显示全部楼层
这是C++代码
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
        int m = 0;
        int n = 0;
        int x = 0;

        for (m = 100; m <= 200; m++)
        {
                for (n = 2; n <= m; n++)
                {
                        if (m % n == 0)
                        {
                                break;
                        }
                }
                if (m == n)
                {
                        cout << m << " ";
                        x++;

                        if (x % 5 == 0)
                        {
                                cout << endl;
                        }
                }

        }
        cout << endl;
        return 0;
}
此帖为转载贴,原文链接:https://blog.csdn.net/weixin_46535880/article/details/112853929
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 21:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表