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;

  • 相关阅读:
    log4j 日志配置
    找出两个列表元素中相同的元素
    列表元素去重
    hdu 2149 Public Sale(巴什博弈变形)
    POJ 3169 Layout (差分约束+SPFA)
    hdu 1494 跑跑卡丁车(动态规划)
    hdu 3177 Crixalis's Equipment(贪心)
    HDU 1576 A/B(扩展欧几里德变形)
    POJ 1061青蛙的约会(扩展欧几里德)
    IE6下的CSS多类选择符
  • 原文地址:https://www.cnblogs.com/FoxShark/p/4435135.html
Copyright © 2011-2022 走看看