zoukankan      html  css  js  c++  java
  • 【编程小题目4】求解质因数

    题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 

    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: 
    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 
    (2)如果n != k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

    #include <iostream>
    using namespace std;
     
    int main()
    {
      int n ;
      int i, j = 0;
      int arr[100] = {'0'};
     
      cout << "Plese input the number:";
      cin >> n;
      cout << n << " = ";
      for(i = 2; i <= n; i++)
      {
        if(n == i)
        {
          arr[j++] = i;
        }
        else
        {  
          while (n % i == 0)
          {
            arr[j++] = i;
            n = n / i;
          }
        }
      }
      for(i = 0; arr[i] != 0; i++)    // print 
      {
        cout << arr[i];
        if(arr[i + 1] != 0)
        {
          cout << "*";
        }
        else
        {
          cout << endl;
        }
      }
     
      return 0;

  • 相关阅读:
    activiti笔记三 Activiti问题重现
    [转]电子商务文件存储及读取服务的设计和开发思路
    powerdesigner设置mysql唯一键,非主键
    git使用笔记
    activiti笔记二:用户任务
    解决方案:elipse一直loading descriptor for...
    activiti笔记一:流程图xml文件
    RabbitMq汇总
    docker汇总
    Zookeeper
  • 原文地址:https://www.cnblogs.com/FoxShark/p/4435135.html
Copyright © 2011-2022 走看看