1 条题解
-
0
C :
#include <stdio.h> #include <stdlib.h> int main() { int i,a=0; float f; for(i=0; i<16; i++) { int j = 1000; int y = 2000; if(i&1) j += y/4, y -= y/4; else y += j/4, j -= j/4; if(i&2) j += y/4, y -= y/4; else y += j/4, j -= j/4; if(i&4) j += y/4, y -= y/4; else y += j/4, j -= j/4; if(i&8) j += y/4, y -= y/4; else y += j/4, j -= j/4; if(abs(y-j)<1000) ++a; } f = (float)a/16; printf("%.3f",f); return 0; }
C++ :
#include<iostream> #include<cmath> #include<iomanip> using namespace std; #define N 4 int a[N]; int cnt; void f(int idx) { if(idx==N) { int A=1000,B=2000; for(int i=0;i<N;i++) { if(a[i]) { A=A+B/4; B=3*B/4; } else { B=B+A/4; A=3*A/4; } } if(abs(A-B)<1000) cnt++; return; } a[idx]=0; f(idx+1); a[idx]=1; f(idx+1); } int main() { f(0); cout<<fixed<<setprecision(3)<<cnt*1.0/(1<<N); return 0; }
Pascal :
begin write('0.625'); end.
Java :
public class Main { public static void main(String[] args) { System.out.println(0.625); } }
- 1
信息
- ID
- 839
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者