B God Create Math 사고방식
There is a saying: computer was the crystallizationof men' intelligence, but math is fromgod. Today, god also sends us a problem.
sin (n! * [ln(n)] * fib(n) %2012)
Some explanations:
In sin(x), x is a radian.
0! = 1, n! = (n-1)! * n (n >= 1).
[x] is the integer part of a floatingnumber.
fib(0) = fib(1) = 1, and fib(n) = fib(n-1)+ fib(n-2) (n >= 2).
Your task is calculating the value with agiven N.
Input
The first line contains a single integer T,indicating the number of test cases.
Each test case contains one integer N (1<= N <= 1000 000 000).
Output
For each test case, output the resultrounded to three fractional digits.
Sample Input
삼
일
사
십
Sample Output
0.000
0.581
0.978 팀 내 경기에서 이 문제를 냈는데 바로 목유가 n을 알아차렸다!2012가 되면mod2012 나머지 0입니다. 이렇게.
n(n!*[ln(n)]]*fib(n)%2012라는 식으로 말하자면 n이 2012를 넘으면mod2012여0이다. 이렇게 주의하면sin(0)이 0.000이라는 것이다. 여기서 주의하고 2012 이내의 계승과fibnaci의 값을 계산하면 ln용log 함수를 구할 수 있다.나는 직접fibnaci를 매트릭스 곱셈으로 보고 큰fabonaci를 구했다.
#include<stdio.h>
#include<math.h>
#include<string.h>
int a[2100],fib[2100];
void facotoria() //
{
int i;
a[0]=1;
a[1]=1;
for(i=2;i<=2011;i++)
a[i]=(a[i-1]*i)%2012;
}
void f() // fibnaci
{
int i;
fib[0]=1;
fib[1]=1;
for(i=2;i<=2011;i++)
fib[i]=(fib[i-1]%2012+fib[i-2]%2012)%2012;
}
int main()
{
facotoria();
f();
double ans;
int n,num;
scanf("%d",&n);
while(n--)
{
scanf("%d",&num);
if(num>=2012){printf("0.000
");continue;} // 2011 0.000 0.000
else printf("%.3lf
", sin ( (double) ( (a[num]*fib[num])%2012*(int)log(num) %2012 ) ) );
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
B God Create Math 사고방식B.God Create Math There is a saying: computer was the crystallizationof men' intelligence, but math is fromgod. Today, ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.