###実現したいこと
素因数分解をしたい
###問題点
実行結果を2x2x2x3x5xの最後のxが出力されないようにしたい。
整数値を入力してください 120 nの素因数分解の結果は 2×2×2×3×5×
###コード
C++
1#include<iostream> 2#include<vector> 3std::vector<int> prime_factors(int n); 4 5int main() 6{ 7 int i,n; 8 std::cout<<"整数値を入力してください\n"; 9 std::cin>>n; 10 std::cout<<"nの素因数分解の結果は\n"; 11 std::vector<int> factors=prime_factors(n); 12 int nfactors=factors.size(); 13 for(i=0;i<nfactors;i++){ 14 std::cout<<factors[i]; 15 std::cout<<"×"; 16 } 17 std::cout<<"\n"; 18 return 0; 19} 20std::vector<int> prime_factors(int n) //整数nの素因数分解 21{ 22 std::vector<int> factors; 23 int i=2; 24 while(n>=i){ 25 //std::cout<<"in"<<std::endl; 26 if(n%i==0){ 27 factors.push_back(i); 28 n=n/i; 29 }else{ 30 i++; 31 } 32 } 33 return factors; 34}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。