#26726: C 在電腦上測試都對,跑資測答案卻變錯的


e002933 (徐MAN)

學校 : 不指定學校
編號 : 158405
來源 : [111.71.113.217]
最後登入時間 :
2023-11-18 16:56:51
a059. 完全平方和 | From: [118.150.201.99] | 發表日期 : 2021-08-21 22:11

我的Line 2在電腦上跑是正確的50

但在資測上跑卻變294

跪求版友指正

#include <stdio.h>

#include <math.h>

int main()

{

int t;

scanf("%d", &t);

int a[t][2];

for(int i = 0; i < t; i++)

for(int j = 0; j < 2; j++)

scanf("%d", &a[i][j]);

for(int i = 0; i < t; i++) {

int sum = 0;

for(int j = a[i][0]; j <= a[i][1]; j++)

if(sqrt(j)*sqrt(j) == j) 

sum += j;

printf("Case %d: %d\n", i+1, sum);

}

return 0;

}

 
#26730: Re:C 在電腦上測試都對,跑資測答案卻變錯的


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a059. 完全平方和 | From: [39.11.200.251] | 發表日期 : 2021-08-22 09:10

我的Line 2在電腦上跑是正確的50

但在資測上跑卻變294

跪求版友指正

#include

#include

int main()

{

int t;

scanf("%d", &t);

int a[t][2];

for(int i = 0; i < t; i++)

for(int j = 0; j < 2; j++)

scanf("%d", &a[i][j]);

for(int i = 0; i < t; i++) {

int sum = 0;

for(int j = a[i][0]; j <= a[i][1]; j++)

if(sqrt(j)*sqrt(j) == j) 

sum += j;

printf("Case %d: %d\n", i+1, sum);

}

return 0;

}

我的電腦也是294,你可以先把sqrt的結果轉成int,再判斷是否等於j就可以了

 
ZeroJudge Forum