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#等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)