與正確輸出不相符(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);
}
}
用旋轉矩陣導的
-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;
}
您的答案為: -3.5962 正確答案為: -3.5961 我是用公式來做的,可以說說這一組的測資是甚麼嗎?
我懷疑測資的精度不夠,因為我改用 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
您的答案為: -3.5962 正確答案為: -3.5961 我是用公式來做的,可以說說這一組的測資是甚麼嗎?
有解決方案了嗎?遇到同樣的問題...
您的答案為: -3.5962 正確答案為: -3.5961 我是用公式來做的,可以說說這一組的測資是甚麼嗎?
有解決方案了嗎?遇到同樣的問題...
「對了 圓周率用3.1415926吧」
...
與正確輸出不相符(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);
}
}
您的答案為: -3.5962 正確答案為: -3.5961
與正確輸出不相符(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);
}
}
您的答案為: -3.5962 正確答案為: -3.5961
這題 line 2 我的 pi 要用 3.14159265
line 37 要用 3.1415926
哈 ~~