#9352: 為什麼會一直逾時?


40271201H (OO)


#include <stdio.h>

int main() {
int n;
int gcd;
while(scanf("%d",&n)!=EOF){

if(n==0)
    printf("0");
    
  
else{
    gcd=n%10;
    while(gcd==0){
    gcd=n/10;
            gcd=n%10;
    }
    while(n>=1){
       printf("%d",gcd);
    n=n/10;
            gcd=n%10;
    }
       printf("\n");
   
   }
}
return 0;
}
#9359: Re:為什麼會一直逾時?


gtyuse (gtyuse)


while(gcd==0){
  gcd=n/10;
  gcd=n%10;
}
改成 
gcd=n%10;
while(gcd==0){
   n=n/10;
  gcd=n%10;
因為發現尾數是 0 後要把 n 除以 10
消掉最後的 0
 
另外 gcd 是最大公因數 ( Greatest common divisor ) 
建議改成 remainder, rmd, lastdigit 之類不易混淆的變數名稱