标题:关于求素数的问题,麻烦各位帮忙看下。
取消只看楼主
掘路者
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-11-20
结帖率:0
已结贴  问题点数:2 回复次数:0 
关于求素数的问题,麻烦各位帮忙看下。
给定一个数值,求出小于该整数的所有素数,并放到一个数组里面,且返回总的素数个数之和。
程序代码:
int fun(int lim, int aa[MAX])
{
  int i,j,k=0;
  for(i=2;i<=lim;i++)
  {
  for(j=2;j<i;j++)
  {
  if(i%j==0)break;
  }
  if(j>=i)   //这个地方无法理解,去掉 >号,则结果有很大的差别。
      aa[k++]=i;
  }
  return k;
}

源代码
程序代码:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
int fun(int lim, int aa[MAX])
{
  int i,j,k=0;
  for(i=2;i<=lim;i++)
  {
  for(j=2;j<i;j++)
  {
  if(i%j==0)break;
  }
  if(j>=i)
      aa[k++]=i;
  }
  return k;
}
  
void main()
{
  FILE *wf;
  int limit,i,sum;
  int aa[MAX];
  system("CLS");
  printf("输入一个整数:");
  scanf("%d",&limit);
  sum=fun(limit,aa);        
  for(i=0;i<sum;i++)
     {
      if(i%10==0&&i!=0)    /*每行输出10个数*/
         printf("\n ");
      printf("%5d ",aa[i]);
    }
/******************************/
  wf=fopen("out.dat","w");
  sum=fun(15,aa);        
  for(i=0;i<sum;i++)
     {
      if(i%10==0&&i!=0)    /*每行输出10个数*/
         fprintf(wf,"\n");
      fprintf(wf,"%5d ",aa[i]);
    }
  fclose(wf);
/*****************************/
}


[此贴子已经被作者于2018-3-6 17:03编辑过]

搜索更多相关主题的帖子: 素数 int MAX for sum 
2018-03-06 17:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-485042-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.152896 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved