首页 > 软件 > 用VBA判断101-200之间有多少个素数,并输出所有素数

用VBA判断101-200之间有多少个素数,并输出所有素数

软件 2023-03-24

VB编写程序,判断101-200之间有多少个素数,并输出所有素数

Private Sub Form_Click() Dim N As Integer, x As Integer, i As Integer, k As Integer, s As Integer N = 0 s = 0 For x = 101 To 199 Step 2 '外循环直接排除偶数,只对奇数进行判断 i = 2: k = Int(x / 2) Do While i <= k '内循环判断x是否为素数 If x Mod i = 0 Then Exit Do '若x被i整除,则x不是素数,结束DO循环 i = i + 1 Loop If i > k Then '正常退出内循环的x值是素数

判断101-200之间有多少个素数,并输出所有素数

1.素数又称质数,理论上有无限个。素数定义为:在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为素质数。

10--200之间的素数(质数)有:101103107109113127131137139149151157163167173179181191193197199

2.程序分析:首先明白什么是素数,只能被1和本身整除的数,用循环遍历101-200之间的数,然后用101~200间的书整出2到该数前面一个数,比如是113,我们113整除2~112之间的数,只要这里的数整出都不等于0,则可以判断这个数是素数;

输出:

用VBA输出100到200所有素数,每行输出10数,最后用msgbox计算一共有多少个素数

Subss()
Fori=101To199Step2
Forj=3ToSqr(i)Step2
IfiModj=0ThenGoTo1
Next
n=n+1
Debug.Printi;
IfnMod10=0ThenDebug.Print
1:
Next
MsgBox"100到200之间一共有"&n&"个素数"
EndSub

判断101-200之间有多少个素数,并输出所有素数

代码如下,仅供参考:

//程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
//    则表明此数不是素数,反之是素数。
#include
#include
intmain(){
intm,i,k,h=0,leap=1;
printf("\n");
for(m=101;m<=200;m++){
k=sqrt(m+1);
for(i=2;i<=k;i++){
if(m%i==0){
leap=0;
break;
}
}
if(leap){
printf("%-4d",m);
h++;
if(h%10==0){
printf("\n");

}

}
leap=1;
}
printf("\nThetotalis%d",h);
}

判断101-200之间有多少个素数,并输出所有素数,每行10个

void main() { int i,j,c=0; //定义一些变量 for(i=101;i<=200;i++) //循环,以判断101 到 200 间的质数 { for(j=2;j<=i;j++)//循环,判断当前数(i)是否是质数 { if(i%j==0) //是否还能被其他数整除 break;//还能被某个数整除,不是质数,退出当前循环 } if(j>=i)//如果以上循环是由于reak语句退出的,说明当前数i 还有其他因子,是合数 {//此时,j < i,如果是满足循环结束条件退出的,此时说明没有其他因子,为 //质数,此时 i == j,为了保险,程序使用的判断条件是 j >= i

标签:信息技术 编程语言 编程 素数 理工学科

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18