close
題目一
輸入說明
一個整數n。
輸出說明
n的質因數分解,用空格隔開因數。
input
120
output
2 2 2 3 5
C++
#include <iostream> using namespace std; int main() { int n; cin >> n; int i = 2; while( n > 1 ) { while( n%i == 0 ) { cout << i << " "; n = n/i; } i+=1; } cout <<"\n"; return 0; }
python:
n=int(input()) i=2 while n>1 : while n%i==0: print(i,end=" ") n//=i; i+=1
題目二:
input
120
output
120 = 2^3 * 3^1 * 5^1
C++:
#include <iostream> using namespace std; int main() { int n; int acc; cin >> n;//120 輸入n int m=n; //m為保留原本的質 cout<<m<<" = "; int i = 2; while( n > 1 ) { acc=0; bool flag=true; while( n%i == 0 ) { if(flag==true){ cout << i << " * "; flag=false; } acc+=1; n = n/i; } if(flag==false){ cout<<acc<<" "; if(n>1)cout<<"+ "; } flag=true; i+=1; } return 0; }
python:
n=int(input()) print(n,end=" = ") i=2 while n>1: acc=0 flag=True while n%i==0: if flag==True: print(i,end=" * ") flag=False acc+=1 n//=i if flag==False: print(acc,end=" ") if n>1:print("+ ",end="") flag=True i+=1
全站熱搜
留言列表