鱼C论坛

 找回密码
 立即注册
查看: 2269|回复: 3

打印素数求助:为啥我打印出来2与3大量重复;

[复制链接]
发表于 2019-10-12 10:27:36 | 显示全部楼层 |阅读模式

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

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

x
  • #include <stdio.h>  
  •   
  • int main()  
  • {  
  •   
  •     int check_prime(int n);  
  •     int number,i;  
  •   
  •     for ( i = 3; i < 200; i++)  
  •     {  
  •         printf("%d\t", check_prime(i));  
  •     }  
  •     return 0;  
  • }  
  •   
  • int check_prime(int n)  
  • {  
  •     int i;  
  •     for ( i = 2; i < n; i++)  
  •     {  
  •         if (n % i == 0)  
  •         {  
  •             return i;  
  •         }  
  •     }  
  • }  
  • 求助:为啥我打印出来2与3大量重复;



打印结果:
3       2       5       2       7       2       3       2       11      2       13      2       3       2       17     219      2       3       2       23      2       5       2       3       2       29      2       31      2       3      25       2       37      2       3       2       41      2       43      2       3       2       47      2       7      23       2       53      2       5       2       3       2       59      2       61      2       3       2       5      267      2       3       2       71      2       73      2       3       2       7       2       79      2       3      283      2       5       2       3       2       89      2       7       2       3       2       5       2       97     23       2       101     2       103     2       3       2       107     2       109     2       3       2       113    25       2       3       2       7       2       11      2       3       2       5       2       127     2       3      2131     2       7       2       3       2       137     2       139     2       3       2       11      2       5      23       2       149     2       151     2       3       2       5       2       157     2       3       2       7      2163     2       3       2       167     2       13      2       3       2       173     2       5       2       3      2179     2       181     2       3       2       5       2       11      2       3       2       191     2       193    23       2       197     2       199













想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-12 12:19:51 | 显示全部楼层
check_prime函数找到的时候返回变量 i
没有找到的时候怎么办?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-12 12:21:00 | 显示全部楼层
int check_prime(int n)  
{  
    int i;  
    for ( i = 2; i < n; i++)  
    {  
        if (n % i == 0)  
        {  
            return i;  
        }  
    }  
   
   // 执行到这里怎么办?
}  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-12 18:38:39 | 显示全部楼层
#include <stdio.h>
int check_prime(int n);
int main()
{

    //int check_prime(int n);
    int i;

    for ( i = 3; i < 200; i++)
    {
        //printf("%d\t", check_prime(i));
        if(check_prime(i))
            printf("%d\t",i);
    }
    return 0;
}

int check_prime(int n)
{
    int j;
    for ( j = 2; j < n; j++)
    {
        if (n % j == 0)
        {
            return 0;
        }
        else
        {
            if(j==n-1)
                return n;
        }
    }
}

说明:
1. 函数声明在外部
2. 子函数返回int型,所以你要自己规定不是素数的返回值,再利用这个返回值做判断。

输出:
3       5       7       11      13      17      19      23      29      31      37      41      43      47      53
59      61      67      71      73      79      83      89      97      101     103     107     109     113     127
131     137     139     149     151     157     163     167     173     179     181     191     193     197     199
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-4 15:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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