#7854: 錯在哪??


ivan101360 (→...好吧...我是廢物www (,,・ω・,,)✿刀劍大...)

學校 : 新北市私立時雨高級中學
編號 : 32311
來源 : [115.82.177.206]
最後登入時間 :
2018-09-12 23:01:54
d124. 3的倍数 | From: [1.160.75.176] | 發表日期 : 2013-06-15 17:10

#include <stdio.h>
#include <stdlib.h>

int main()
{
  int b;
  while(scanf("%d",&b)!=EOF)
  if(b%3==0)
  printf("yes\n");
  else if(b%3!=0)
  printf("no\n");
  return 0;
}
 
 
 
大大看看唄! 
 
#7860: Re:錯在哪??


akira0331 (小迷糊)

學校 : 不指定學校
編號 : 26613
來源 : [203.70.194.240]
最後登入時間 :
2013-07-29 09:30:29
d124. 3的倍数 | From: [203.70.194.240] | 發表日期 : 2013-06-17 18:05

#include
#include

int main()
{
  int b;
  while(scanf("%d",&b)!=EOF)
  if(b%3==0)
  printf("yes\n");
  else if(b%3!=0)
  printf("no\n");
  return 0;
}
 
 
 
大大看看唄! 

 

 n的範圍 (-10^10001<=n<=10^10001),連long long 都爆了,不可能直接用%3解題

 
#10618: Re:錯在哪??


d2513850 (林勇智)

學校 : 崑山科技大學
編號 : 5102
來源 : [114.140.80.239]
最後登入時間 :
2024-12-03 11:08:59
d124. 3的倍数 | From: [219.68.155.168] | 發表日期 : 2016-01-07 21:11

#include
#include
 
int main()
{
  int b;
  while(scanf("%d",&b)!=EOF)
  if(b%3==0)
  printf("yes\n");
  else if(b%3!=0)
  printf("no\n");
  return 0;
}
 
 
 
大大看看唄! 

因為要輸入大數

請把它當成大數運算

所以要宣告成字元陣列a[16384]

然後進行位數累加:

for(b=0;b<d;b++){
    if(a[b]>=48&&a[b]<=57){
        c+=((int)a[b])-48;
    }
}

最後看看c除於3的餘數是否輸出"yes"或"no"

這樣做即便他輸入是負數也能判斷他輸入的數值是否能被3整除

 
ZeroJudge Forum