#include <stdio.h>
int main(void){
int num ;
int add;
int ori;
int exp;
int a =0;
while(scanf("%d",&num)!=0){
a=0;
for(add = 2 ; num > 1; add++){
exp = 0 ;
while (num % add == 0 ){
a++;
if(a>=2){
printf(" * ");
}
while(num % add == 0){
num = num /add ;
exp++;
}
if (exp>=2){
printf("%d^%d",add,exp);
}
else if (exp==1){
printf("%d",add) ;
}
}
}
printf("\n") ;
}
}
因式分解 不知道為什麼會 逾時
我在自己devc++跑出來的答案都是對阿
#include
int main(void){
int num ;
int add;
int ori;
int exp;
int a =0;
while(scanf("%d",&num)!=0){
a=0;
for(add = 2 ; num > 1; add++){
exp = 0 ;
while (num % add == 0 ){
a++;
if(a>=2){
printf(" * ");
}
while(num % add == 0){
num = num /add ;
exp++;
}
if (exp>=2){
printf("%d^%d",add,exp);
}
else if (exp==1){
printf("%d",add) ;
}
}
}
printf("\n") ;
}
}
因式分解 不知道為什麼會 逾時
我在自己devc++跑出來的答案都是對阿
while(scanf("%d",&num)!=0)要改成
while(scanf("%d",&num)!=EOF)
原本的寫法用手打輸入的確是可以,
但是你的程式上傳到server去驗證時,
我猜sever端是直接餵一整個檔案進去,所以scanf這個function要用EOF當作輸入終止的條件。