ZKX's LAB

C语言作业:判断一个数是不是素数,如果不是,输出它的素数因子。 输出数的质数的因子重复输出

2021-04-26知识3

C语言作业:使用子函数,判断一个数是不是素数,如果不是,输出其素数因子。 主函数{输入正整数;调用子函数;}子函数{判断素数因子存入数组打印数组}

用C语言编程:输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。 include#include bool isPrime(int n){ if(n=1)return false;for(int i=2;i*i;i+){ if(n%i=0)return false;} return true;}int main(){ int n,i,j,m;printf(\"请输入n:\\n\");。

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 。

#输出数的质数的因子重复输出

随机阅读

qrcode
访问手机版