通过代码:
#include <bits/stdc++.h> using namespace std; int n; vector<int> prime; vector<int> fact; bool isPrime(int _n) { for(int i = 2; i * i <= _n; i ++) if(_n % i == 0) return false; return true; } int main() { for(int i = 2; i <= 100; i ++) if(isPrime(i)) prime.push_back(i); scanf("%d", &n); while(n != 1) for(int i = 0; i < prime.size(); i ++) if(n % prime.at(i) == 0){ n /= prime.at(i); fact.push_back(prime[i --]); } int amount = 1; for(int i = 0; i < fact.size(); i ++) { if(i == 0) printf("%d", fact.at(0)); else if(fact.at(i) == fact.at(i - 1)) { amount ++; if(i == fact.size() - 1) printf("^%d", amount); continue; } else { if(amount == 1) printf("*%d", fact.at(i)); else { printf("^%d*%d", amount, fact.at(i)); amount = 1; } } } return 0; }
1210:因子分解
最新推荐文章于 2023-12-18 20:41:24 发布