列出100~200之间的素数

int main()
{
    int count = 0;
    int i = 0;
    //1、先去将100到200之间的数遍历
    for (i=100; i<=200; i++)
    {
        //2、再建循环遍历一个数他是否是素数
        //素数:除了1和他本身能整除以外,没有其他比自身小的数能整除 
        int flag = 1;
        int j = 0;
        for (j=2; j<=i-1; j++)
        {
            // 3、使用100到200之间数去一个一个除以1和比他自身小的数
            //4 、判断是否可以整除 
            if (i % j == 0)
            {
                //5、使用flag变量来接收判断的值,是0就不是素数
                //相反是1就是素数 
                flag = 0;
                //6、如果不是素数就直接结束跳出这个循环
                break; 
            }    
        }
        if (flag == 1)
        {
            //count计数,出现一个素数就计数+1 
            count++;
            //7、输出100~200之间的素数 
            printf("%d ", i);
            
        }
        
    }
    printf("\ncount=%d", count); 
    return 0;

注意!!!!:你可以在第二步的循环处将范围条件改为sqrt(i)。sqrt()是一个库函数可以进行开平方计算,但需要引入头文件#include<math.h>。

### 回答1: 以下是100200之间的全部素数,每行输出8个数,每个数宽度为5列: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 ### 回答2: 要求输出100200之间的全部素数,我们首先需要知道什么是素数素数是指只能被1和自己整除的正整数,如2、3、5、7等都是素数。而合数是指不是素数的正整数,如4、6、8、10等都是合数。 为了求出100200之间的全部素数,我们可以采用筛选法。具体实现方法如下: 1. 设置一个布尔类型的数组prime,prime[i]表示i是否为素数。 2. 将prime数组中所有的值初始化为true。 3. 对于数组prime中索引从2开始到n(n为200),如果prime[i]为true,则将i的所有倍数都标记为false,因为它们不是素数。 4. 最后输出在100200之间素数即可。 下面提供一段Python代码,可以实现求出100200之间的全部素数,并每行输出8个数,每个数宽度为5列: ```python prime = [True for i in range(201)] for i in range(2, 201): if prime[i]: for j in range(i*2, 201, i): prime[j] = False count = 0 for i in range(100, 201): if prime[i]: print("{:5d}".format(i), end=" ") count += 1 if count % 8 == 0: print("\n") ``` 在上述代码中,我们首先初始化一个长度为201的布尔类型数组prime,将所有的值都设置为True。接着,我们从2开始,对于每个素数i,将它的所有倍数都标记为False。这样,我们就排除了所有的合数,只留下素数。 最后,我们利用一个计数器count来计算已经输出的素数数量,如果到达8个就换行,保证每行输出8个数。最终输出的结果如下: ``` 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 ``` 以上就是求出100200之间的全部素数的方法及Python实现,希望可以帮助到大家。 ### 回答3: 素数是指除1和本身以外,没有其他正整数可以整除的数。题目要求求出100~200之间的全部素数,那么我们需要逐个判断100~200之间的每一个数是否为素数。 我们可以用一个for循环来遍历100~200之间的每一个数,然后再用一个for循环从2到这个数-1遍历,逐个判断是否能够整除。如果找到一个能够整除的数,那么这个数就不是素数,直接break。如果这个数遍历到了最后还没有找到能够整除的数,那么这个数就是素数,将其输出即可。 以下是代码实现: ```python def is_prime(num): for i in range(2, num): if num % i == 0: return False return True count = 0 for i in range(100, 201): if is_prime(i): print("{:<5d}".format(i), end='') count += 1 if count % 8 == 0: print() ``` 代码思路: 1. 定义一个is_prime函数用来判断一个数是否为素数; 2. 使用一个计数器count记录已经找到的素数个数; 3. 遍历100~200之间的每一个数,判断是否为素数; 4. 如果是素数就输出,并将计数器+1; 5. 每输出8个数就换行。 运行代码后,输出结果如下: ```python 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 ``` 以上就是求出100~200之间的全部素数的方法和代码实现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值