欢迎来到天天文库
浏览记录
ID:55917299
大小:50.50 KB
页数:6页
时间:2020-06-14
《求1到100之间的所有素数。.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验二几种算法比较一、题目1.求1到100之间的所有素数。要求用两种方法实现:(1)列举法(2)用筛法2.求n!要求用两种方法实现:(1)递归法(2)非递归法二、程序清单1.(1)列举法#includeintfac(intn){intf;if(n<0)printf("n<0,dataerror!");elseif(n==0
2、
3、n==1)f=1;elsef=fac(n-1)*n;return(f);-6-}voidmain(){intn,y;printf("Inputaintegernumber:");scanf("%d",&n);y=fa
4、c(n);printf("%d!=%15d",n,y);}1.(2)用筛法#include"stdio.h"#include"math.h"voidmain(){inti,j,n,a[101];for(i=1;i<=100;i++)a[i]=i;a[1]=0;for(i=2;i<=sqrt(100);i++)for(j=i+1;j<=100;j++){if(a[i]!=0&&a[j]!=0)-6-if(a[j]%a[i]==0)a[j]=0;}printf("");for(i=1,n=0;i<=100;i++){if(a[i]!=0){printf("
5、%5d",a[i]);n++;}if(n==5){printf("");n=0;}}}三、程序调试过程中所出现的错误2.(1)递归法#include-6-doublef(intn);intmain(void){intn;printf("Entern:");scanf("%d",&n);printf("%lf",f(n));return0;}doublef(intn){if(n==0
6、
7、n==1)return1;elsereturnn*f(n-1);}2.(2)非递归法#includeintmain(){intfa
8、c(intn);intn;inty;-6-printf("inputanintegernumber:");scanf("%d",&n);y=fac(n);printf("%d!=%d",n,y);return0;}intfac(inta);{intf;if(n<0)printf("n<0,dataerror!");elseif(n==0
9、
10、n==1)f=1;elsef=fac(n-1)*n;return(f);}四、运行结果:第一题的运行结果如下:-6-第二题的运行结果如下:五、心得体会-6-
此文档下载收益归作者所有