用QBASIC编程:用枚举法找出1000以内所有素数

作者&投稿:禹养 (若有异议请与网页底部的电邮联系)
求:VB用枚举算法来打印1~1000以内的素数的编程语言,急用!!!~

Private Sub command1_click()
Dim i, j, f, c
i = 2
While i < 1000
f = True
j = 2
Do While j < i
If i Mod j = 0 Then f = False: Exit Do
j = j + 1
Loop
If f Then
Print i & vbTab;
c = c + 1
If c Mod 5 = 0 Then Print
End If
i = i + 1
Wend
End Sub

Option Explicit


Private Sub Form_click()

Dim a As Integer, b As Integer, c As Integer
a=1
Do
a = a + 1
For b = 2 To a - 1
If a Mod b = 0 Then Exit For
Next b
If b = a Then
Print a;
c = c + 1
If c Mod 10 = 0 Then Print
End If
Loop Until a = 1000


End Sub

for i=2 to 1000
s=0
for j=2 to i-1
if i mod j=0 then
s=s+1
end if
next j
if s=o then
print i
end if
next i

利用计数器,如果I有约数,那么S的数值将会等于I的约数的个数,若S=0,则说明I没有约数,即,I是素数,然后输出I
你的程序:FOR是循环结构,默认步长为1,就不用I=I+1了,直接使用NEXT I,这才是VB的正确语言

CLS
FOR I=2 TO 1000
A=0
FOR J=2 TO I-1
IF I MOD J=0 THEN A=1:EXIT FOR
NEXT J
IF A=0 THEN PRINT I;
NEXT I
END

你的程序:有FOR没有NEXT,而且FOR的作用是限次循环,每次循环过后,循环控制变量都会加上步长,成为新的值,不用你去加1。
我给你的是正确的程序。

我想可能是应该把if放到for循环结构里。


会QBASIC语言得人进来帮我做到编程题?
1 data 45,21,-4,-7,5,-77,64,32,89,-85,53 dim a as integer dim b as integer b=0 for i=0 to 10 read a if a>0 then b=b+a end if next i print b 2 dim a as integer dim b as integer dim c as integer input a input b input c if a<b then a=b...

什么是QB语言
QB 即Quick Basic语言.QBasic语言是Quick Basic语言的子集,它只有解释执行功能。属DOS平台下的编程语言,其精髓是当前VB及VB.NET编程语言的基础,只能说QBASIC编的程序不能在WIDOWS平台上运行。DOS发展到后期,出现了Quick Basic语言,它将BASICA,LINK以及DEBUG等软件合并在一起,在同一环境下对用户的源程序...

qbasic编程题:初二一班要竞选班长,有五位候选人,分别给五个人编号为1...
DIM A(5)FOR K=1 TO 20 READ N A(N)=A(N)+1 NEXT K MAX=0 HSZ=0 FOR K=1 TO 5 PRINT K;"号候选人得票数为:";A(K)IF A(K)>MAX THEN MAX=A(K)HSZ=K END IF NEXT K PRINT "获胜者为第";HSZ;"号候选人","得票数为:";MAX DATA 1,3,1,4,5,3,2,1,5,3,1,...

怎样在qbasic的音乐语句中,编程打出和弦?
QBASIC中的PLAY语句和通用的发声语句SOUND用于产生简单的音乐,效果一般。简单地讲解一下:你在QBASIC中输入下面语句,就可以产生《友谊地久天长》的音乐,但速度可能与CPU的主频有关,效果也是一般。A$="O2MNG O3C.C16CE D.C16DE C.C16EG MNA4."B$="A G.E16EC D.C16DE C.O2A16AG O3MNC4...

请教2道QBASIC编程题,急!!!
1:打印1~1000内的所有偶数:CLS FOR I=2 TO 1000 STEP 2 PRINT I,NEXT I END 2:输入正整数N,请输出N的所有因子:CLS INPUT N FOR I=1 TO N IF INT(N\/I)=N\/I THEN PRINT I,END IF NEXI I END

初二水平 编程问题,QBASIC
CLS INPUT A,B,C IF A<B THEN T=A:A=B:B=T IF A<C THEN T=A:A=C:C=T IF B<C THEN T=B:B=C:C=T PRINT A,B,C END

请用qbasic编程,非常急!!!
CLS INPUT S L = LEN(S$)FOR I = L TO 1 STEP -1 FOR J = 1 TO L + 1 - J A$ = MID$(S$, J, I)T = LEN(A$): F = 0 FOR K = 2 TO T IF VAL(MID$(A$, K, 1)) < VAL(MID$(A$, K - 1, 1)) THEN F = 1 NEXT IF F = 0 THEN PRINT T: END N...

QBASIC对于初学编程者有必要学吗?是精读还是什么?
没有必要学了 我记得我初中时候学的那个 现在我已经大学毕业了 现在没什么用 都用C++之类的了

我说的C语言跟我爸说的QBASIC完全不是一种软件,但我爸认为C是QBASIC...
为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的1989年,诞生了第一个完备的C标准,简称“C89”,也就是“ANSI C”,截至2020年,最新的C语言标准为2018年6月发布的“C18”。QBASIC语言是Microsoft公司开发的,MS-DOS 5.0自带的一种计算机程序设计语言。它是...

大家给我介绍一下初学编程的QBasic要知道哪些内容?注意是QB不是VB...
没有悬赏呀!算了,还是告诉你吧:1.数据类型 整型(%),单精度实型(!)(只是最基本的)2.运算符与表达式 (1)关系表达式,关系运算符 +,-,*(cheng),\/(chu),\\(zheng chu),MOD(qiu yu)(2)逻辑运算符 NOT>AND>OR 3.语句 LET PRINT INPUT READ\\DATA IF\\THEN\\ELSE SELECT\\CASE ...

宜城市13517664467: 如何用Qbasic编写一个计算生成数独的程序?
宗于清开: 用枚举算法(深度优先搜索),就是对每个格子枚举1~9,可以用递归实现.对每一种情况进行行和列的剪枝.

宜城市13517664467: 用枚举法编写查找函数(不允许用库函数)? -
宗于清开: 不使用库函数,那就得自己定义函数了,如下: #include <stdio.h> char *strcopy(char t[], char s[]) {int i = 0;while(t[i] = s[i])++i;return t; } int main(){char str1[100] = "adwq dwet32gW324YHBHED";char str2[100];printf("%s\n",str1);strcopy(str2,str1);printf("%s\n",str2);return 0; }

宜城市13517664467: QBASIC编程 给出7个数: - 5, - 12,5,4, - 7,15, - 8 编程找出其中的负数的个数 再求出正数之和 并分别输出 -
宗于清开: 首先把这n个数字存在一个数组里,然后查找,最后输出即可.input n dim a(n) for i=1 to n input a(i) next i for i=1 to n if a(i)<0 then print a(i);else s=s+a(i) next i print s 注:n的作用是一共有几个数,然后依次输入 if a(i)<0 then print a(i); else s=s+a(i)是用来判断数字是否为负数,如果是负数,就立刻输出,否则就加到变量s,s是用来统计正数之和的.

宜城市13517664467: C++编程,用枚举法计算将1元钱换成角钱的各种方法 -
宗于清开: 用FOR循环.道 FOR(i=0,i<=10,i++) {FOR(j=0,j<=2,j++) if( i+5j=10 ) { 输出回i j. } }最后输出的 i 就是1角的数答量,j 就是5角的数量.

宜城市13517664467: 输入3个数,输出其中最大数的算法与流程图和程序,要求使用qbasic来编程. -
宗于清开: cls input "diyigeshu=";a input "diergeshu=";b input "disangeshu=";c 以上语句是输入三个数 max=-999 if a>max then max=a if b>max then max=b if c>max then max=c 以上语句是找出最大数:先设最大数是max,设最大数的值为-999,当a,b,c中的任意一个比最大数大,就让最大数max等于它.print "zuidashu=";max 以上语句输出最大数 end

宜城市13517664467: 设计一个程序用枚举法求百鸡问题 -
宗于清开: 表示看不出你的程序有哪处用到了筛法...ms跟枚举没什么区别... 以下为普通的筛质数法的程序: #include #include const int N=101; int a[N],b[N]; int main(void) { int i,j; a[0]=a[1]=1; for(i=2;i b[++b[0]]=i; for(j=(N-1)/i;j>=2;j--)a[j*i]=1; } for(i=1;i<=b[0];i++){printf("%d ",b[i]);if(i%5==0)printf("\n");} return 0; }

宜城市13517664467: 一个整数数组中有正数、负数与0,请问怎么写一个程序,找出这个数组中连续的元素相乘的极大值
宗于清开: 最简单的是用枚举法.将第1、2两个数相乘作为参照数,接着将第2、3两个数相乘,如果大于参照数则替代,否则忽略,再继续下一组,直到枚举完所有数.最后的参照数就是答案.至于用什么语言写的程序,就有不同的方法.

宜城市13517664467: 编程,解数字谜. -
宗于清开: '用枚举法(VB程序) Private Sub Form_Click() For a = 1 To 9 For b = 0 To 9 For c = 0 To 9 For d = 0 To 9 If a * 1000 + b * 100 + c * 10 + d - (a * 100 + d * 10 + a) _ = b * 1000 + c * 100 + a * 10 + a Then Print "a="; a Print "b="; b Print "c="; c Print "d="; d Print End If Next Next Next Next End Sub

宜城市13517664467: 枚举法怎么做啊? -
宗于清开: 1 1 71 2 61 3 51 4 41 5 31 6 21 7 12 1 62 2 5 ……7+6+5+4+3+2+1 =28种

宜城市13517664467: 编程序求出所有的水仙花数(所谓水仙花数是一个三位数,它的各位的立方和等于该数本身)并在实验板上显示 -
宗于清开: 算法:可枚举所有三位数,再分解各位数进行判断. C语言(三位数枚举法): #includemain() { int i,s1,s2,s3; for(i=100;i<=999;i++) //枚举所有的三位数 { s1=i/100; //把i的百位赋值给s1 s2=i/10%10; //把i的十位赋值给s2 s3=i%10; //把i的个位赋值给s3 if(s1*s1*s1+s2*s2*s2+s3*s3*s3==i) //如果各位数字之和等于该数 printf("%d\n",i); //则输出该数 } return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网