质数是如何分解的?

质数是如何分解的?,第1张

分解质因数的方法有两种:

1、相乘法

写成几个质数相乘的形式(这些不重复的质数即为质因数),实际运算时可采用逐步分解的方式。

如:36=2*2*3*3 运算时可逐步分解写成36=4*9=2*2*3*3或3*12=3*2*2*3

2、短除法

从最小的质数除起,一直除到结果为质数为止。分解质因数的算式的叫短除法(┖是短除法的符号)

如:362┖36=182┖18=93┖3=3 结论36=2*2*3*3

对于广义空间不存在最大的质数。

对于被分解的合数(质数不能再分解)来说存在最大的质数。

按短除法从最小质数开始相除到结果为质数止,最后的质数为该数的最大质因数。

如36的最大质因数为3(质因数为2、3)

如8的质因数为2,105的质因数为3、5、7(最大质因数7)

#include <stdio.h>

int main(){

int n // 用户输入的整数

int i // 循环标志

printf("输入一个整数:")

scanf("%d",&n)

printf("%d=",n)

// n>=2才执行下面的循环

for(i=2i<=ni++){

while(n!=i){

if(n%i==0){

printf("%d*",i)

n=n/i

}else

break

}

}

printf("%d\n",n)

return 0

}

将一个正整数分解质因数。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

1、如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

2、如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

3、如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。

C语言

C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的 *** 作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。

编译调试成功:

输入数N,回车会出分解的结果,输入0结束循环

#include<stdio.h>

void break_up(long *p,long n)

{

long m=n

int i=2

while(m!=1)

{

if(m%i==0)

{

if(*p!=i&&*p)

*(++p)=i

else

*p=i

m/=i

printf("%ld*",i)

}

else

{

i++

}

}

}

int main()

{

long n,a[100]

int i=0

while(scanf("%ld",&n)!=EOF&&n!=0)

{

for(i=0i<100i++)

a[i]=0

printf("%d*",n)

break_up(a,n)

i=0

printf("\b \n")

}

return 0

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存