#21114: C++解答


ololo.catgirl@gmail.com (烏魯ö呆萌貓耳娘)

學校 : 不指定學校
編號 : 110460
來源 : [27.242.32.56]
最後登入時間 :
2020-04-13 22:20:13
a010. 因數分解 | From: [27.242.32.56] | 發表日期 : 2020-04-13 19:38

#include <iostream>

using namespace std;

 

int main(void) {

  int num;

  while(cin >> num) {

    int divisor = 2, count;

    bool status = true;

    while(num != 1) {

      count = 0;

      while(num % divisor == 0) {

        num /= divisor;

        count++;

      }

      if(count > 0 && status == true) {

        if(count > 1)

          cout << divisor << '^' << count;

        if(count == 1)

          cout << divisor;

          status = false;

      } else if(count > 0) {

          if(count > 1)

            cout << " * " << divisor << '^' << count;

          if(count == 1)

            cout << " * " << divisor;

      }

      divisor++;

    }

    cout << endl;

  }

}

 

 
ZeroJudge Forum