c语言--查找某个区间的质数
Posted 我不想平庸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言--查找某个区间的质数相关的知识,希望对你有一定的参考价值。
#include<stdio.h> #include<stdlib.h> struct int_e{ int *p; int length; }; int is_prime(int *primes,int length,int num){ int i; for(i=0;i<length;i++){ if(*(primes+i)){ if(num%(*(primes+i))==0){ return 0; } }else{ //printf("%d--%d\n",i,*(primes+i)); break; } } return 1; } struct int_e primes(int limit){ int max_num = limit/2; int real_num = 1,i; int *primes = (int *)malloc(max_num*sizeof(int)); if(primes != NULL){ printf("茅坑太大了 没有"); //此处暂时不知道如何处理 return; } *primes = 2; for(i=3;i<limit;i++){ if(is_prime(primes,max_num,i)){ *(primes+real_num)=i; real_num++; } } primes = realloc(primes,real_num*sizeof(int)); struct int_e primes_info = {p:primes,length:real_num}; return primes_info; } void main(){ struct int_e primes_info = primes(1000); if(primes_info){ int length = primes_info.length,i; int *primes = primes_info.p; printf("\n========================\n"); for(i=0;i<length;i++){ printf("%d -- %d\n",i,*(primes+i)); } } }
以上是关于c语言--查找某个区间的质数的主要内容,如果未能解决你的问题,请参考以下文章