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;

  • 相关阅读:
    Source Insight技巧收集
    宝贝,祝你生日快乐!
    【转载】C++中的extern C
    Meego
    source insight增加新类型方法
    点操作符和箭头操作符的异同
    【转载】mtk编译命令
    margin和padding的用法与区别以及bug处理方式
    js数组
    随机验证码,颜色同时刷新
  • 原文地址:https://www.cnblogs.com/FoxShark/p/4435135.html
Copyright © 2011-2022 走看看