#6559: c語言 WA


dennis92107 (已經消滅敵隊~)

學校 : 國立花蓮高級中學
編號 : 22039
來源 : [118.163.12.151]
最後登入時間 :
2019-08-08 09:34:36
a059. 完全平方和 | From: [125.226.148.254] | 發表日期 : 2012-04-19 22:28

#include<stdio.h>
#include<math.h>
int main()
{
 int a,b,c,d,c1,d1,e,x[1000],max=0;
 while(scanf("%d",&a)!=EOF)
 {
  for(b=0;b<a;b++)
  {
  scanf("%d%d",&c,&d);
    if(sqrt(c)*sqrt(c)<=c)
    {
  c1=sqrt(c);
  }
  if(sqrt(c)*sqrt(c)>c)
  {
  c1=sqrt(c)+1;
  }
  d1=sqrt(d);
   for(e=c1;e<=d1;e++)
   {
  x[0]=0;
  x[e]=e*e;
  max+=x[e];
   }
   printf("Case %d: %d\n",b+1,max);
   max=0;
}
}
return 0;
}
WA (line:2)
答案不正確
您的答案為: Case 2: 54 正確答案為: Case 2: 50 
我抓了所有的可能 ...都執行成功 
請高手解答
 
#6568: Re:c語言 WA


linishan (L)

學校 : 國立交通大學
編號 : 1090
來源 : [104.132.150.102]
最後登入時間 :
2019-05-10 19:57:54
a059. 完全平方和 | From: [125.228.104.160] | 發表日期 : 2012-04-21 18:56


sqrt是浮點數

容易有浮點數誤差

盡量少用

這題還有很多不同的解法 

 
#7195: Re:c語言 WA


spocktsai (囧rz)

學校 : 國立科學工業園區實驗高級中學
編號 : 28748
來源 : [140.126.248.246]
最後登入時間 :
2021-10-27 15:54:29
a059. 完全平方和 | From: [123.110.133.85] | 發表日期 : 2012-11-17 13:36

建議你可以使用數學上的 ceil 還有 floor 兩個函數

例如計算範圍是 a 到 b

可能的完全平方數範圍就是 ceil(sqrt(a)) 到 floor(sqrt(b)) 之間 

 
ZeroJudge Forum