1 条题解

  • 0
    @ 2025-4-12 22:03:04

    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
    上传者