用VB做:将一个正整数分解质因数

用VB做:将一个正整数分解质因数,第1张

Sub Fj(M As Integer)

Dim I As Integer

Print M & "=";

Do While M <> 0

For I = 2 To M

If M Mod I = 0 Then

Print I;

M = M \ I

Exit For

End If

Next

If M = 1 Then Exit Do

Print "";

Loop

End SubPrivate Sub Command1_Click()Dim M As IntegerM = Val(InputBox("输入一个整数:"))

Fj (M)

End Sub

具体如下:

#include<stdioh>

void main()

{int i,n;

printf("input the n:");

scanf("%d",&n);

printf("%d=",n);

for(i=2;i<n;)

{if(n%i==0)

{printf("%d",i);

n=n/i;}

else i++;

}printf("%d",n);

}

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。

#include<stdioh>

void main()

{

int a,n;

  scanf("%d",&n);

printf("n=");

  for(a=2;a<=n;a++)

if(n%a==0)

{n/=a;

printf("%d",a);

printf("");

a=1;}

}

输入编码即可。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

它由美国贝尔研究所的DMRitchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。

1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。

这样注释的已经很好了啊

if(m%k!=0),说明还没找到因数,每次都是从2开始,逐渐递增,来找因数的

else,else部分,说明已经找到了因数,找到因数以后,先把因数打印出来,然后让m等于被除后的数,让k=2,也就是从2开始,继续递增找其他的因数啊

举个例子,你就明白了,比如15,你要对它进行分解质因数,该怎么做呢

先让k=2,发现15%2!=0了,说明2不是它的因数,让k++

k=3的时候,发现15%3==0了,说明3是它的一个因数,打印出3,让m=15/3=5,让k=2

5%2!=0,5%3!=0,5%4!=0,说明2,3,4,都不是5的因数,k继续自加

k=5,5%5==0了,说明5是5的因数,所以,打印5,m=5/5=1,k=2,这时,就会退出for循环了

逐行分析,见下面:

if(m%k!=0) //m不能被k整除,说明k不是m的因数

{

k++; //就让k自加1,判断下一个数是不是m的因数

}

else //m不能被k整除,说明k是m的一个因数

{

printf("%d",k); //把这个因数k,打印出去

m=m/k; //从m中把因数k去掉,如果不去掉,下一个又会找到因数k的,那样就不对了

k=2;//让k重新等于2,也就是重新从2开始找m的因数

}

//貌似楼上几位都忘了重复测试i能否整除目标整数?

#include <iostream>

using namespace std;

void main()

{

long N,N2,i,t,count;

cout<<"<因式分解>"<<endl;

cout<<"本程序中N和1不视作N的因子。"<<endl;

while(1){

cout<<"请输入一个正整数N:";

cin>>N; N2=N;

count=0; t=N/2; //大于N/2的数不能成为N的因子。(本程序中N本身不算N的一个因子)

for(i=2;i<=t;i++){

if(N%i==0){

if (++count==1) cout<<"N="<<N<<"=";

cout<<i; N/=i;

if(N!=1) cout<<"×";

i--; //再次测试i是否还能成为N的因子

}

if(N==1) break;

}

if(count==0) cout<<N2<<"是质数。"<<endl;

cout<<endl<<endl;

}

}

以上就是关于用VB做:将一个正整数分解质因数全部的内容,包括:用VB做:将一个正整数分解质因数、c语言输入一个正整数,将这个正整数分解质因数的方法是什么、c语言,将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9285818.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存