c语言将一个正整数分解质因数,望高手帮我详细解释一下程序?

c语言将一个正整数分解质因数,望高手帮我详细解释一下程序?,第1张

1、首先打开vc6.0, 新建一个vc项目,添加头文件。

2、添加main主函数,如下图所示

3、然后定义 n, i 两个变量,如下图所示。

4、接着使用scanf给n赋值,使用for循环。

5、然后用while作为内层循环,使用printf打印i。

6、最后使用if条件语句,运行程序,如下图所示,正整数分解为质因子就完成了。

求出区间[a,b]中所有整数的质因数分解。

输入

输入两个整数a,b。

输出

每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)。

样例输入

3 10

样例输出

3=3

4=2*2

5=5

6=2*3

7=7

8=2*2*2

9=3*3

10=2*5

蓝桥杯

#include<stdio.h>

#include<math.h>

int factor(int n)

{

        int i,j=(int)sqrt(n)

        if(n%2==0) return 2

        for(i=3i<=ji++)

        if(n%i==0) return i

        return n

}

int main()

{

        int i, j, k, m, n

        scanf("%d%d", &m, &n)

        for(i=mi<=ni++)

        {

        j=factor(i)

        k=i/j

        printf("%d=%d",i,j)

                while(k>1)

                {

                j=factor(k)

                k=k/j

                printf("*%d", j)

                }

        printf("\n")

        }

    return 0

}

分解质因数牛逼方法

#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

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存