#include <bits/stdc++.h >
using namespace std;
int main(){
freopen("PRIMEFACTORS.inp","r",stdin) ;
freopen("PRIMEFACTORS.out ","w ",stdout);
long long n;
cin >> n;
int dem;
for(int i = 2; i <= n ; i++){
dem = 0;
while(n % i == 0){
++dem;
n /= i;
}
if(dem){
cout << i;
if(dem > 0 ) cout << " " << dem;
if(n > i){
cout << " ";
}
}
}
}
Phân tích thừa số nguyên tố : PRIMEFACTORS
Phân tích số tự nhiên N thành tích các thừa số nguyên tố.
Ví dụ 100 = 2^2 x 5^2
Input:
Dòng đầu chứa số nguyên T là số bộ dữ liệu cần tìm. 1 ≤ T≤ 100
T dòng tiếp theo, mỗi dòng chứa số nguyên n (1≤ N ≤ 105).
Output:
In ra T dòng, mỗi dòng là một dãy gồm nhiều cặp số liên tiếp trong đó số đứng trước là cơ số, số sau là số mũ.
PRIMEFACTORS.INP | PRIMEFACTORS.OUT |
---|---|
2 100 35 |
2 2 5 2 5 1 7 1 |
Code em sai chỗ nào ạ.Em mới học cơ bản c++ nên chưa học về mảng 2 chiều ạ