#10428: WA求解


dddd1597 (johnson0331)


第 1 測資點(100%): WA (line:1)
答案不正確

您的答案為: 2510076409
正確答案為: 11100011001

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a=1,b=1,c=1,d=0;
    while(scanf("%d",&a)!=EOF){
 while(a!=0)
 
 {
 b=a%2;
 a=a/2;
 d=d+b*c;
 c=c*10;
   

printf("%d",d);
}
return 0;}

#10434: Re:WA求解


snoopy3024 (Irene)


第 1 測資點(100%): WA (line:1)
答案不正確

您的答案為: 2510076409
正確答案為: 11100011001

#include
#include
int main()
{
    int a=1,b=1,c=1,d=0;
    while(scanf("%d",&a)!=EOF){
 while(a!=0)
 
 {
 b=a%2;
 a=a/2;
 d=d+b*c;
 c=c*10;
   

printf("%d",d);
}
return 0;}

應該跟溢位有關係,小數都對,大一點的數就會錯喔。另外,c=1,d=0;要記得重新計算,下一個數才不會錯。還是建議用遞迴寫比較容易

#11265: Re:WA求解


godknow666 (godknow)


第 1 測資點(100%): WA (line:1)
答案不正確

您的答案為: 2510076409
正確答案為: 11100011001

#include
#include
int main()
{
    int a=1,b=1,c=1,d=0;
    while(scanf("%d",&a)!=EOF){
 while(a!=0)
 
 {
 b=a%2;
 a=a/2;
 d=d+b*c;
 c=c*10;
   

printf("%d",d);
}
return 0;}

應該跟溢位有關係,小數都對,大一點的數就會錯喔。另外,c=1,d=0;要記得重新計算,下一個數才不會錯。還是建議用遞迴寫比較容易

妳的C值 少寫了c++; 完全部會動阿= =


另外系統測試時會用超過5000以上的值進行轉換 如果用10次方的寫法會溢出 建議用字串方式轉換避免溢出問題

參考

#include<stdlib.h>

#include<stdio.h>

#include<math.h>

int main()

{

int x ,n = 0;

char y[100] = {0};

while( scanf("%d" ,&x) != EOF)

{

 

 

while (x)

{

 

y[n] = (x%2);

 

x = (x/2);

n++;

 

}

 

while (n)

{

printf("%d" ,y[n-1]);

n--;

}

 

printf("\n");

}

return 0;

}