1 条题解
-
0
C :
#include<stdio.h> #include<math.h> int a[1000001]; int main() { int n; double i,x,y,z; a[0]=1; for(i=1;i<=1000000;i++) { x=i-sqrt(i); y=log(i); z=i*sin(i)*sin(i); a[(int)i]=(a[(int)x]+a[(int)y]+a[(int)z])%1000000; } while(scanf("%d",&n)!=EOF,n!=-1) printf("%d\n",a[n]); return 0; }
C++ :
#include<stdio.h> #include<math.h> int a[1000001]; int main() { int n; double i,x,y,z; a[0]=1; for(i=1;i<=1000000;i++) { x=i-sqrt(i); y=log(i); z=i*sin(i)*sin(i); a[(int)i]=(a[(int)x]+a[(int)y]+a[(int)z])%1000000; } while(scanf("%d",&n)!=EOF,n!=-1) printf("%d\n",a[n]); return 0; }
Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNextInt()) { int N = in.nextInt(); if(N == -1) break; int[] x = new int[N+1]; x[0] = 1; double a1,b1,c1; int a2,b2,c2; for(int i = 1;i<=N;i++) { a1 = Math.sqrt(i); b1 = Math.log(i); c1 = Math.pow(Math.sin(i),2); a2 = (int)Math.floor(i-a1); b2 = (int)Math.floor(b1); c2 = (int)Math.floor(i * c1); x[i] = (x[a2] + x[b2] + x[c2]) % 1000000; } System.out.println(x[N]); } } }
- 1
信息
- ID
- 2081
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者