c语言求最大质因数程序

c语言求最大质因数程序,第1张

#include 携辩毕<stdio.h>

void main()

{

int a,n,i

printf("请输入一个数\n"辩芹)

scanf("%d",&n)

for(i=n-1i>=1i--)

{

if(n%i==0)

{

printf("最大质因数灶返:%d\n",i)

break

}

}

}

//判断num是否为质数

bool IsPrimeNumber(unsigned int num)

{

if (num == 1)

return false

unsigned int nMaxNum = num-1

for(int n=2n<nMaxNumn++)

{

if ((num % n)==0)

return false

nMaxNum = (num+n-1)/n

}

return true

}

//计悉兆算num的质因数个数

int CalcPrimeNumberCount(unsigned int num)

{

int nPrimeCount = 0

unsigned int nMaxNum = num-1

for(int n=2n<=nMaxNumn++)

{

if ((num % n) == 0)

{

if ( IsPrimeNumber(n) )

{

nPrimeCount++

}

nMaxNum = (num+n-1) / n

}

}

return nPrimeCount

}

/纯陆烂/主程序

int main(int argc, char* argv[])

{

int num = 9699690

int nPrimeCount = CalcPrimeNumberCount(num)

printf("数字 %d 的质因数个数为 %d 个\n", num, nPrimeCount)

return 0

}

我的代码结构清晰,容易看明白,执行效率高,刚做漏测试过了

#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#等。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存