c语言分解质因数程序代码怎么写

c语言分解质因数程序代码怎么写,第1张

#include <stdio.h>

int a[1000]

int main(void)

{

int i, n, j = 0

scanf("%d", &n)

printf("%d=", n)

for (i = 2 n > 1 ++i)

for ( ! (n % i) n /= i)

{

++j

a[j] = i

}

for (i = 1 i <= j-1 ++i)

printf("%d*", a[i])

printf("%d", a[j])

return 0

}

题目:将一个正整数分解质因数。例如:输入90,打印出90=2 3 3*5。

正解:

1.使用该数m去除以2到sqrt(m)之间的数,如果不能够整除的话,说明其本身就是质数了。

2.使用该数m去除以2到sqrt(m)之间的数,如果能够整除的话,再继续循环,直到回到第一步为止。

整数i初始为2,。。。直到sqrt(num)

8

8/2=4

4/2=2

2/2=1

所以8的质因数为2 2 2

9

9/2!=0. i++

9/3=3.

3/3=1.

所以9的质因数为3*3

27

27/2!=0 i++

27/3=9

9/3=3

3/3=1

所以27的质因数为3 3 3

100

100/2=50

50/2=25

25/2!=0 i++

25%3!=0 i++

25%4!=0 i++

25%5=0 25/5=5

5%5=0 5/5=1

所以100的质因数为2 2 5*5

90

90%2=0 90/2=45

45%2!=0所以i++

45%3=0 45/3=15

15%3=0 15/3=5

5%3!=0 i++

5%4!=0 i++

5%5=0 5/5=1

所以90的质因素为2 3 3*5

public void zhiyinshu(int num){

int i=2

int shang

while(num!i=1){

if(num%i==0){

num=num/i

print(i+"*")

}else{

i++

}

}

}


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

原文地址: http://outofmemory.cn/yw/11131917.html

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

发表评论

登录后才能评论

评论列表(0条)

保存