zoukankan      html  css  js  c++  java
  • 分解质因数的程序

    以下prim函数的功能是分解质因数。括号内的内容应该为?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void prim(int m, int n)
     {
         if (m >= n)
         {
             while (        ) n++;
             (     );
             prim(m, n);
             cout << n << endl;
         }
     }
    n从2开始
    第一处为m%n,代表取余。当余数是0的时候表示除尽,跳出while循环,即找出一个质因数。此时一个质因数即为n
    然后 m/=n 即让m除去这个质因数,然后再进入求新m质因数的递归。
     
     
    举例:m=6,n=2
     
    m>n;
    m%n=0,跳出while,n没有加1。此时m=6,n=2
    m/=n,此时m=3,n=2   (2为一个质因数)
        递归prim(m, n),即prim(3, 2);
         m>n; 
        m%n=1,n++,此时m=3,n=3,继续while循环
        m%n=0,跳出while循环,此时 m=3,n=3  (3为另一个质因数)
        m/=n,此时m=1,n=3
            递归 prim(m, n),即 prim(1, 3);
           不满足条件(m > n),返回上层
       输出质因数 n=3
    输出质因数 n = 2  
     
        一个实际分解质因数的C语言程序

    #include "stdafx.h"

    #include <iostream>

    using namespace std;

    int main()

    {

    int n;

    printf("请输入一个大于0的整数:");

    cin >> n;

    printf("分解结果:");

    for (int i =2; i <= n; i++)

    {

    while (n>=i)

    {

    if(n%i==0)

    {

    if (n == i)

    {

    printf("%d", i);

    n = n / i;

    }

    else

    {

    printf("%d*", i);

    n = n / i;

    }

    }

    else

    {

    break;

    }

    }

    }

    return 0;

    }

  • 相关阅读:
    4、配置解决中文乱码的过滤器
    3、请求参数绑定
    2、SpringMVC常用注解
    SpringMVC快速搭建
    深拷贝与浅拷贝笔记
    SpringBoot入门(三)——SpringData JPA
    SpringBoot入门(二)——Web
    SpringBoot入门(一)——HelloWorld、配置、日志
    Java SSM(十八)——Mybatis查缺补漏
    Java SSM(十七)——SpringMVC查缺补漏
  • 原文地址:https://www.cnblogs.com/fenglongyu/p/7625657.html
Copyright © 2011-2022 走看看