求100~200间的全部素数。

c语言求100-200之间的素数~

思路:先定义一个函数isp用来判断一个数是否是素数,所谓素数是除了1和自身没有其他的因数,所以从2到该数减一,判断其是否可以整除该数,如果可以该数就不是素数,否则该数就是素数。最后从100到200依次判断并输出素数。
参考代码:
#include int fun(int n){int i;for(i=2;i<n;i++)if(n%i==0) return 0;return 1;} int main(){ int i;for(i=100;i<=200;i++)if(fun(i))printf("%d ",i);return 0; }/*101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199*/

#include
#include
int prime(int n)
{int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)return 0;
return 1;
}
int main()
{int i;
for(i=101;i<200;i+=2)
if(prime(i))
printf("%d ",i);
printf("
");
return 0;
}

{
if(n%10==0) printf("\n");/*为什么这里要用n%10==0?*/
这里是每10个素数就换行

k=sqrt(m);/*为什么要用到这个?*/
计算平方根,可以提高效率。譬如37,你只要判断到6以下没有约数,那37就是素数了

for(l=2;l<=k;l++)/*这个for有什么用?*/
用来检查2到平方根之间有没有能被m整除的数字,判断素数就是在这里了。

if(m%l==0) break;/*这行又是什么意思?*/
只要2~平方根这之间有一个约数,就不是素数了,就跳出循环

if(l>=k+1) {printf("%d ",m); n++; }/*这个又想说明什么呢?*/
如果判断到平方根,还没有找到约数,那这个数字肯定是素数
}

C语言题:求出100-200之间所有素数( 要求每行输出5个),最后还有统计素数...
答:include <stdio.h>#include <math.h>i include <stdio.h>#include <math.h>int main(){int i,j,n=0;for(i=101;i<=200;i=i+2){for(j=2;j<=sqrt(i);j++){if (i%j==0)break;}if(j>sqrt(i)){n++;printf("%d,",i);if (n%5==0) printf("\n");}}return 0;} ...

求100-200间的全部素数 这个用C语言怎么编程
答:include <stdio.h>int isprime(int a){int i;for(i = 2; i < a; i++)if(a % i == 0)break;if(a == i)return 1;elsereturn 0;}int main(void){int i;for(i = 100; i <= 200; i++){if(isprime(i))printf("%d ",i);}printf("\n");} ...

编写C语言程序,求100~200之间所有素数。
答:素数就是只能被1和本身整除的数,先定义一个函数用于判断一个数是否是素数,在从100到200依次循环判断,如果是素数则输出。参考代码:include<stdio.h>int fun(int n){//判断n是否是素数int i;for(i=2;i<n;i++)if(n%i==0) return 0;return 1; } int main(){ int i; for(i=100;i...

C语言编写输出100到200之间的全部素数并统计个数?
答:首先定义一个素数判断函数fun,int fun(int x),在里面如果x能被2整除,return 0,然后进入一个以3为初值,步长为2,条件测试表达式为<sqrt(x)的for循环,如果x能被i(循环变量)整除,则也是return 0,最后,添加返回语句return 1。然后在main函数中建立一个以100为初始值,测试条件为<200,步长为...

C语言 求100—200之间的全部素数,并且输出每10个换一行
答:第一个问题的分析:如果满足i<=k,则说明这个数不是素数,则不用输出,不执行下面的printf的函数,只有满足i>=k+1(其实是满足1=k+1),才能判断此数为素数,则输出。所以程序是正确的。第二个问题的分析:两个程序的最终结果是一样的,都是正确的。程序自然结束后,会有i==k+1,此时是素数,...

在c语言编程中“求100~200间的全部的素数”为什么会用到开平方呢_百度...
答:那么m*k > s*s 于是得到n>n的结论。明显是错误的。于是m和k至少有一个是小于等于s的。这样在判断质数时,只需要从2一直到s做模除,就可以准确的判断是否有其它因子,从而得到是否为质数的结论。这就是为什么在判断质数中的程序中会用到求平方根的原因。其本质原因是为了减少模除次数,提高效率。

用c++设计一个程序,求出100~200之间的所有素数并按每行五个素数的格式...
答:include <iostream> using namespace std; //判断data是否为素数bool IsPrimeNumber(int data){ int i;if(1 == data || 2 == data || 3 == data || 5 == data)return true;else if(data % 2){ for(i=3; i<=data/2+1; i+=2){ if (0 == data%i)return false;} return ...

编写一个程序,求100~200之间所有的素数的累加和(用C语言)
答:include<stdio.h> int main(){ int n,i,s=0;for(n=100;n<=200;n++){for(i=2;i<n;i++)if(n%i==0)break;if(i==n)s=s+n;} printf("%d",s);}

vb 编写程序求出100-200间的所有素数
答:Sub test()Dim i As Integer Dim j As Integer Dim m As Boolean For i = 100 To 200 m = True For j = 2 To i ^ 0.5 If i Mod j = 0 Then m = False Exit For End If Next j If m Then Print i Next i End Sub ...

求出100-200之间的所有素数的VB程序设计。
答:以下是求出100-200之间的所有素数的VB程序设计:Public Function IsPrime(ByVal num As Integer) As Boolean ' 判断一个整数是否为素数 If num < 2 Then IsPrime = False ElseIf num = 2 Then IsPrime = True ElseIf num Mod 2 = 0 Then IsPrime = False Else Dim i As Integer For i =...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网