#3870: 差0.004???


jerry311 (jerry)

學校 : 香港科技大學
編號 : 6622
來源 : [138.19.176.176]
最後登入時間 :
2021-05-04 02:14:59
d315. sigma sinkx -- david | From: [113.254.98.240] | 發表日期 : 2010-06-19 18:17

與正確輸出不相符(line:2)
您的答案為: -3.5957
正確答案為: -3.5961
----------------------------------

改了一改之後

SE了..但是我在電腦上跑是沒有問題的-,-
----------------------------------
改了之後
#include<stdio.h>
#include<math.h>
main(){
    double out=0;
    long int n,x,i;
    while(1)
    {
        scanf("%ld %ld", &n, &x);
        out=0;
        if(n==0)break;
        x=x%360;
        for(i=1;i<=n%360;i++)
        {
            double rad=3.1415926/180;
            out+=sin(rad*i*x);
        }
        printf("%.4lf\n",out);
           
    }
}

 
#5164: Re:差0.004???


morris1028 (碼畜)

學校 : 國立花蓮高級中學
編號 : 3529
來源 : [114.37.59.62]
最後登入時間 :
2021-07-12 19:00:43
d315. sigma sinkx -- david | From: [118.161.216.83] | 發表日期 : 2011-06-05 19:02

嗯,精準度不太夠,這我也遭遇到了

用旋轉矩陣導的

-0.5 * sin((n+1)*theta) - cot (theta/2) * cos((n+1)*theta) /2 + cot(theta/2) / 2

公式因人而異吧,唉,還是差一點

#include<stdio.h>
#include<math.h>
#define pi 3.1415926
main() {
    double n, x;
    while(scanf("%lf %lf", &n, &x) == 2) {
        if(n == 0) break;
        double theta = x * pi / 180.0, n_theta = (n+1)*x * pi / 180.0;
        double A = sin(n_theta) , B = tan((pi - theta)/2) / 2;
        double C = cos(n_theta);
        printf("%.4lf\n", - (A/2) - B*C + B);
    }
    return 0;
}

 
#7946: Re:差0.004???


CC501 (公開暱稱)

學校 : 不指定學校
編號 : 32355
來源 : [1.64.143.189]
最後登入時間 :
2022-12-01 12:05:13
d315. sigma sinkx -- david | From: [42.98.25.174] | 發表日期 : 2013-07-12 18:29

WA (line:2)
答案不正確
您的答案為: -3.5962 正確答案為: -3.5961 我是用公式來做的,可以說說這一組的測資是甚麼嗎?
 
#7966: Re:差0.004???


jdh8 (硬邦邦)

學校 : 臺北醫學大學
編號 : 6332
來源 : [122.116.101.60]
最後登入時間 :
2019-11-14 01:20:34
d315. sigma sinkx -- david | From: [36.231.74.237] | 發表日期 : 2013-07-17 23:30

我懷疑測資的精度不夠,因為我改用 long double 照樣 WA。

#include <stdio.h>
#include <math.h>

int main(void)
{
    const long double pi = 3.1415926535897932384626L;
    long double A, B, C, n, t, nt;
    int x;

    while (scanf("%Lf %d", &n, &x) == 2) {
        if (n == 0)
            break;
        t = x * pi / 180;
        nt = (n+1) * t;

        A = sin(nt);
        B = tan((pi - t)/2) / 2;
        C = cos(nt);
        printf("%.4Lf\n", B - A/2 - B*C);
    }
    return 0;
}

 話說 GCC 看到 A = sin(nt) 和 C = cos(nt) 會很興奮的去呼叫 sincos(nt, &A, &C)。XD

 

 
#14446: Re:差0.004???


k034006 (Sine Wu)

學校 : 高雄市立高雄高級中學
編號 : 46921
來源 : [180.217.135.99]
最後登入時間 :
2024-09-07 23:27:34
d315. sigma sinkx -- david | From: [219.85.4.142] | 發表日期 : 2018-07-17 20:53

WA (line:2)
答案不正確
您的答案為: -3.5962 正確答案為: -3.5961 我是用公式來做的,可以說說這一組的測資是甚麼嗎?



有解決方案了嗎?遇到同樣的問題...

 
#14448: Re:差0.004???


icube (!@#$%^&*()_+)

學校 : 不指定學校
編號 : 61090
來源 : [220.135.116.184]
最後登入時間 :
2024-08-24 18:11:03
d315. sigma sinkx -- david | From: [220.135.116.184] | 發表日期 : 2018-07-17 21:47

WA (line:2)
答案不正確
您的答案為: -3.5962 正確答案為: -3.5961 我是用公式來做的,可以說說這一組的測資是甚麼嗎?



有解決方案了嗎?遇到同樣的問題...

 

「對了 圓周率用3.1415926吧」

...

 

 
#14450: Re:差0.004???


account404 (username)

學校 : 臺北市立建國高級中學
編號 : 68414
來源 : [114.24.110.28]
最後登入時間 :
2024-11-17 19:46:32
d315. sigma sinkx -- david | From: [59.115.217.196] | 發表日期 : 2018-07-18 09:33

與正確輸出不相符(line:2)
您的答案為: -3.5957
正確答案為: -3.5961
----------------------------------

改了一改之後

SE了..但是我在電腦上跑是沒有問題的-,-
----------------------------------
改了之後
#include
#include
main(){
    double out=0;
    long int n,x,i;
    while(1)
    {
        scanf("%ld %ld", &n, &x);
        out=0;
        if(n==0)break;
        x=x%360;
        for(i=1;i<=n%360;i++)
        {
            double rad=3.1415926/180;
            out+=sin(rad*i*x);
        }
        printf("%.4lf\n",out);
           
    }
}

 

#include<stdio.h>

#include<math.h>

main(){

    double out=0;

    long int n,x,i;

    while(1)

    {

        scanf("%ld %ld", &n, &x);

        out=0;

        if(n==0)break;

        x=x%360;

        for(i=1;i<=n%360;i++)

        {

            double rad=3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825/180;

            out+=sin(rad*i*x);

        }

        printf("%.4lf\n",out);

            

    }

}

 

 

#0: 100% WA (line:2)

您的答案為: -3.5962
正確答案為: -3.5961

 

 
#14452: Re:差0.004???


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-11-04 20:21:51
d315. sigma sinkx -- david | From: [61.223.59.21] | 發表日期 : 2018-07-18 12:12

與正確輸出不相符(line:2)
您的答案為: -3.5957
正確答案為: -3.5961
----------------------------------

改了一改之後

SE了..但是我在電腦上跑是沒有問題的-,-
----------------------------------
改了之後
#include
#include
main(){
    double out=0;
    long int n,x,i;
    while(1)
    {
        scanf("%ld %ld", &n, &x);
        out=0;
        if(n==0)break;
        x=x%360;
        for(i=1;i<=n%360;i++)
        {
            double rad=3.1415926/180;
            out+=sin(rad*i*x);
        }
        printf("%.4lf\n",out);
           
    }
}

 

#include

#include

main(){

    double out=0;

    long int n,x,i;

    while(1)

    {

        scanf("%ld %ld", &n, &x);

        out=0;

        if(n==0)break;

        x=x%360;

        for(i=1;i<=n%360;i++)

        {

            double rad=3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825/180;

            out+=sin(rad*i*x);

        }

        printf("%.4lf\n",out);

            

    }

}

 

 

#0: 100% WA (line:2)

您的答案為: -3.5962
正確答案為: -3.5961

 

這題 line 2 我的 pi 要用  3.14159265


line 37 要用  3.1415926

哈 ~~

 
ZeroJudge Forum