1,编程计算1n上素数的个数n由用户输入int类型#include<stdio.h>#include<math.h>int prime(int n) for(i=2;i<=sqrt(n);i++)if(n%i==0)return 0; return n>1;}int main() scanf("%d",&n); for(i=2;i<=n;i++)if(prime(i))k++; printf("1~%d之间有%d个素数\n",n,k);return 0;}
2,编程计算1n上素数的个数核心代码readln(n);while n0 do beginif n=1 then writeln(0)else beginfor j:=2 to n do if prime(j) then inc(ans);writeln(ans);end;readln(n);end;prime是指判断素数的函数,需要自己定义如果是vb编程的话,那么: 1. 百度一下,找一段vb判断一个数是不否是素数的代码 , 并将之改编为一个函数isshusu() 2. 通过for循环: for i=1 to nif isshusu(i) then count=count+1next i 3.最后将count输出,即为素数的个数【求1 n的素数个数C语言,编程计算1n上素数的个数n由用户输入int类型】
3,用筛选法求1n之内的全部素数 Input 行1一个整数nn2100000#include<iostream.h>#include<stdlib.h>#include<stdio.h>void shaifa(int n, int*prime)for( i=0;(2*i+3)*(2*i+3)<=n;i++)prime[(j-3)/2]=0;}}int main()int *prime;int n,i,j;printf("请输入整数n:");scanf("%d",&n);while(n<2)if(n%2==0)prime=(int*)malloc((n/2-1)*sizeof(int));elseprime=(int*)malloc((n/2)*sizeof(int));for(i=0;i<n/2-1;i++)if(n%2!=0)prime[n/2-1]=1;shaifa(n,prime);printf("1到%d内的素数有:\n2\t",n);for(j=0;j<n/2-1;j++)if(n%2!=0&&prime[n/2-1]==1)printf("%d\t",n);printf("\n");free(prime);return 0;}
4 , C语言 求出1N内的所有素数#include <stdio.h>#include <math.h>void main()int m,k,i,n=0; for(m=2;m<=1000;m=m+1)k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1)printf("%d",m);n=n+1;}if(n%1==0)printf(" "); } printf("\n");}123456789101112131415161718192021222324252627282930313233343536373839404142 #include <stdio.h> intisPrime(int); voidmain() inti; intnum; printf("1~N的所有素1653数:"); scanf("%d",&num); for(i=0;i<num;i++) 内if(isPrime(i)) printf("%d\t",i); } } printf("\n");} intisPrime(intnum) inti; if(num==0 ||容 num==1) return0; } if(num==2 || num==3) return1; } for(i=2;i<=num/2;i++) if(num%i==0) return0; } } return1;}素数就是只能被1和自身整除的数,可以定义一个函数用于判断一个数是否是素数,接着从10到100依次遍历,判断其是否是素数 , 如果是并输出 。参考代码:#include "stdio.h" int fun(int n) int i; for(i=2;iif(n%i==0) return 0; return 1; } int main() { int i; for(i=10;i<=100;i++)//循环判断是否是素数 if(fun(i)) printf("%d ",i); return 0; } /* 运行结果: 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 */5,怎样用c语言输出1n间素数的个数楼主知道素数的含义吗?每一个程序都有算法 , 算法知道了程序就好写了给你算法,这样跟你说如果1-n直接的数能被2,3 , 4, , , ,sqrt(n)整除就不是素数就结束算法,不能除尽就是素数,可以用while这个循环语句,中间加上break语句,不是很难,先弄懂怎么判断一个数是素数的算法,就好写了,就这样,我是菜鸟帮你只有这么多#include<stdio.h>int main()int n,i,j,num=0;/*计数器num*/scanf("%d",&n);for(i=1;i<=n;i++)/*遍历1~n间的数*/for(j=2;j<=i/2;j++)/*逐一判断是否能被除了1和本身之外的数整除*/if(i%j==0)num++;/*找到则计数器自增*/break;/*比对下一个数*/}}}printf("%d",num);/*输出个数*/getch();return 0;}#include <conio.h>#include <stdio.h>#include <math.h>int prime(int n)if(n<=1)yes=1;for(i=2; i<=sqrt((double)n); i++)if(n%i==0)return 1;}void main()printf("input n:");scanf("%d",&n);for(i=1;i<=n; i++)if(prime(i)) count+=1;printf("%d\n", count);}#include <conio.h>#include <stdio.h>#include <math.h>int prime(int n)if(n<=1)yes=1;for(i=2; i<=sqrt((double)n); i++)if(n%i==0)return 1;}void main()printf("input n:");scanf("%d",&n);for(i=1;i<=n; i++)if(prime(i)) count+=1;printf("%d\n", count);}#include<stdio.h>int main()int n,i,j,num=0;/*计数器num*/scanf("%d",&n);for(i=1;i<=n;i++)/*遍历1~n间的数*/for(j=2;j<=i/2;j++)/*逐一判断是否能被除了1和本身之外的数整除*/if(i%j==0)num++;/*找到则计数器自增*/break;/*比对下一个数*/}}}printf("%d",num);/*输出个数*/getch();return 0;}#includevoidmain() { intn,i,flag=0; scanf("%d",&n); while(n++) { for(i=2;i<=n;i++)//判断素数 if((n)%i==0) break; if(n==i) { flag++; if(flag==3)//输出第三个素数并推出while循环 { printf("第三个素数:%d\n",n); break; } else n++; } } }
推荐阅读
- 系统开发小程序,行业小程序系统怎么开发
- 苹果自带编程软件吗知乎下载,有什么c的编程软件是苹果系统能用的吗哪有下
- c语言与c十十哪个好,C语言好还是C好
- r语言c1 2,什么是R语言
- Javascript编程软件,问下大家 编写JavaScript用什么软件好
- 在c语言中sum什么意思,C语言sum的
- 编程怎么编跑酷,3D跑酷类模型的翻滚和跳跃动作是美工实现还是编程的实现的
- 编写表白代码,用代码编一个表白的程序需要哪几个元素
- c语言是用什么编写的文件,C语言和DOS是用什么编写的