#include<iostream>
#include<math.h>
using namespace std;
int main(){
int n;
cin>>n;
int x=n;
for(int i=2;i<=n;i++){
if(n%i==0){
int counter=0;
while(n%i==0){
n=n/i;
counter++;}
if(n*pow(i,counter)==x){
if(counter==1){
cout<<i;}
else {cout<<i<<"^"<<counter;}}
else {
if(counter==1){
cout<<" * "<<i;}
else {cout<<" * "<<i<<"^"<<counter;}}}
else;}
return 0;}
請問這哪裡有問題,是因為一旦cout後,就算迴圈還沒跑完,系統也會認定輸出答案嗎?
可是為什麼測試時可以通過?
最大問題是你的程式只能跑單筆測資
記得while( cin>> n ){...}
懷疑你是否真的跑過測試執行....
最大問題是你的程式只能跑單筆測資
記得while( cin>> n ){...}
懷疑你是否真的跑過測試執行....
已修正,感謝
我是一筆一筆輸入 哈哈