#8431: 拜託幫幫忙,我不知道我哪裡錯~~


testtesttesttest (test)

學校 : 不指定學校
編號 : 37404
來源 : [111.235.208.193]
最後登入時間 :
2014-01-08 16:17:38
a010. 因數分解 | From: [140.132.120.52] | 發表日期 : 2013-12-06 09:28

#include<iostream>
using namespace std;
int main()
{int input;
while(cin>>input)
{int pow=0,flag=0;
for(int i=2;i<=input/2;i++)
{while(input%i==0)
{input/=i;
pow++;}
if(pow==0)continue;
else if(pow>1&&flag==0)
{cout<<i<<"^"<<pow;
flag=1;}
else if(pow=1&&flag==0)
{cout<<i;
flag=1;}
else if(pow>1&&flag==1)
{cout<<"*"<<i<<"^"<<pow;}
else if(pow=1&&flag==1)
{cout<<"*"<<i;}
}cout<<endl;}}
 
#8435: Re:拜託幫幫忙,我不知道我哪裡錯~~


MKshGoD (MKshGoD)

學校 : 義守大學
編號 : 37753
來源 : [1.171.156.139]
最後登入時間 :
2019-11-23 10:30:24
a010. 因數分解 | From: [120.118.1.169] | 發表日期 : 2013-12-08 15:46

總覺得else if不太好..
用if、else試試看 
 
#include<iostream>
using namespace std;
int main()
{
int input;
while(cin>>input)
  {
   if(input>1)
   {
  
int flag=0;
for(int i=2;i<=input;i++)
   { 
   int pow=0;
while(input%i==0)
   {
   input/=i;
   pow++;
   }
if(pow==0)
continue;

if(pow>1){
    if(flag==0)  {
cout<<i<<"^"<<pow;
flag=1;
      }
      else
      {
cout<<"*"<<i<<"^"<<pow;
      }
}
else
{
if(flag==0)
      {
cout<<i;
flag=1;
      }

else
      {
cout<<"*"<<i;
      }
   
}

  }
  cout<<endl;
}
}
}
  
 
ZeroJudge Forum