编写程序求2到100以内所有质数,下面一个程序中当i=2时,从第二个for循环给我分析一下执行的过程,详细的!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写程序求2到100以内所有质数,下面一个程序中当i=2时,从第二个for循环给我分析一下执行的过程,详细的!相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
main()
int k,i,tag;
for(i=2;i<=100;i++)
tag=0;
for(k=2;k<i;k++)
if(i%k==0) tag=1;
if(tag==0)
printf("d,",i);
求质数用这个吧,刚弄着玩的
#define MAXNUM 1000
bool isPrime(long num)
bool bPrime = true;
for (int i=2;i*i<=num;i++)
if(0 == num%i)
bPrime = false;
break;
return bPrime;
int main(int argc, char* argv[])
long cnt = 0;
// long maxPrime=0;
for (long i=2;i<= MAXNUM;i++)
if(isPrime(i))
printf("%d\t",i);
//maxPrime = i;
cnt++;
printf("\r\n total cnt: %d\r\n",cnt);
return 0;
参考技术A 这是最原始的求质数的方法,第二个for循环就是判断i是否有除1和自身以外其他的因子,有的话,就讲标志位tag置1,然后根据标志位是否为1判断i是否为质数 参考技术B 很简单 马上好
求100以内的所有质数(素数) 要求:用VB的for语句写
参考技术A Private Sub Command1_Click()For n = 2 To 100 '2到100循环
For i = 2 To Int(Sqr(n)) 'sqrt(n)求开方用int取整
If n Mod i = 0 Then Exit For '如果2到100中的有数字满足不能被2到该数字开方的自然数除尽,它就是你要的素数!
Next i
If i > Int(Sqr(n)) Then '从2到int(sqrt(n))没有找到可以除尽的数字,[循环到i=int(sqrt(n))+1,不满足范围,推出循环]n就是素数!
textbox1.text+=n.tostring+" "
End If
Next n
End Sub 参考技术B Private Sub Command1_Click()
For n = 2 To 100 '2~100
For i = 2 To Int(Sqr(n))
If n Mod i = 0 Then Exit For
Next i
If i > Int(Sqr(n)) Then
Print n & "是素数"
End If
Next n '2~100
End Sub本回答被提问者采纳
以上是关于编写程序求2到100以内所有质数,下面一个程序中当i=2时,从第二个for循环给我分析一下执行的过程,详细的!的主要内容,如果未能解决你的问题,请参考以下文章