求1000以内满足如下条件的正整数N:它的各个因子(包括1和N)之和sum是一个素数. Sub Button1_Click(…)Handles Button1.Click Dim flg As Boolean,i%,sum%,n%,t$TextBox1.Text=\"\"For n=2 To 1000 sum=1 t=\"1\"' 存放各个.
vb编程,找出介于A B之间的所有只有素数因子(1和自身除外)的数。哪点错了,为什么没有输出 楼主,这段代码有 4 处错误。1、将K声明为Integer(k As Integer)。而后的运算中k是当作字符串的,参加字符串运算k=k&i&\",这个运算,当然结果是错误的。2、If prime(n)Then Exit Sub,如果n是素数,就退出整个过程。n本身是素数,还需要进行n之后数据的处理呀!3、这个If块中的是错误的 Exit Sub是错误的。也就是说某一个数有非素数因子,就退出整个过程,以后合法的数据也不在理会了。这当然是错误的。应该是Exit For。If prime(i)Thenk=k&i&\",ElseExit SubEnd If4、其实这里还隐含了以个错误。3中将Exit Sub改为Exit For,我们就看出了这个问题:发现了非素数以后,是不是还要向ListBox中加入k呢?回答是:当然不加!那么就需要加以判断。上述四个问题修改了以后,程序运行正常了。正确代码如下:Option ExplicitPrivate Sub Command1_Click()Dim i As Integer,j As Integer,n As Integer,a As Integer,b As Integer,c()As IntegerDim k As StringDim bln As Booleana=Text1:b=Text2For n=a To bk=0If Not prime(n)Thenbln=TrueFor i=2 To n-1If n Mod i=0 ThenIf prime(i)Thenk=k&i&\",Elsebln=FalseExit ForEnd IfEnd IfNext iIf bln Then 。
C语言要求一个数的素数因子,筛选出了因子,但不知道怎么把不是素数的去掉 素数n就是将n%k(k:2-n-1)都不为0即可,你可以将素数全部存在一个数组里就行了