1 条题解
-
0
C :
# include<stdio.h> # include<math.h> int main() { double r[605],t,l; int m,n,i,j,k; scanf("%d",&m); while(m--) { scanf("%d",&n); for(i=0; i<n; i++) scanf("%lf",&r[i]); for(i=0; i<n; i++) for(j=i+1; j<n; j++) if(r[i]>r[j]) { t=r[i]; r[i]=r[j]; r[j]=t; } k=0; l=20; for(i=n-1;l>=0;i--) { l-=2*sqrt(r[i]*r[i]-1); k++; } printf("%d\n",k); } return 0; }
C++ :
#include "stdio.h" #include"math.h" int main() { int m; scanf("%d",&m); while(m--) { int n; scanf("%d",&n); float a[601]; int i,j; for(i=0;i<n;i++) { scanf("%f",&a[i]); a[i]=sqrt(a[i]*a[i]-1); } for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]) { float t; t=a[i];a[i]=a[j];a[j]=t; } float sum=0; int t=0; while(sum<10) sum+=a[t++]; printf("%d\n",t); } }
Pascal :
program lixinyi; var n,m,i,j,q:longint; s,x:real; a:array[1..601]of real; procedure kuaipai(l,r:longint); var i,j:longint; x,t:real; begin i:=l; j:=r; x:=a[(l+r)div 2]; repeat while a[i]>x do inc(i); while a[j]<x do dec(j); if i<=j then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; inc(i); dec(j); end; until i>j; if i<r then kuaipai(i,r); if j>l then kuaipai(l,j); end; begin readln(n); for i:= 1 to n do begin readln(m); q:=0; s:=0; for j:= 1 to m do read(a[j]); kuaipai(1,m); //for j:= 1 to m do //write(a[j],' '); for j:= 1 to m do if s<20 then begin x:=sqrt(a[j]*a[j]-1*1); s:=s+2*x; inc(q); end; writeln(q); end; end.
- 1
信息
- ID
- 2638
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者