1 条题解

  • 0
    @ 2025-4-7 21:41:51

    C :

    #include<stdio.h>
    #include<math.h>
    
    int main()
    {
    	int x,y,i,s,d,n;
    	while(scanf("%d%d",&x,&y)!=EOF)
    	{
    		d=y-x;
    		n=sqrt(d);
    		if(d<4)
    			printf("%d\n",d);
    		else
    		{
    			if(d==n*n)
    				s=2*n-1;
    			else if(d>n*n&&d<=n*n+n)
    				s=2*n;
    			else
    				s=2*n+1;
    			printf("%d\n",s);
    		}
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    #include<math.h>
    
    int main()
    {
    	int x,y,i,s,d,n;
    	while(scanf("%d%d",&x,&y)!=EOF)
    	{
    		d=y-x;
    		n=sqrt(d);
    		if(d<4)
    			printf("%d\n",d);
    		else
    		{
    			if(d==n*n)
    				s=2*n-1;
    			else if(d>n*n&&d<=n*n+n)
    				s=2*n;
    			else
    				s=2*n+1;
    			printf("%d\n",s);
    		}
    	}
    	return 0;
    }
    

    Pascal :

    var a,b,s,i,j,n,m:longint;
    
    begin
      while not eof do
        begin
          readln(a,b);
          s:=b-a;m:=1;n:=0;
          while s>0 do
            begin
              if s-m>0 then
                  begin n:=n+2;s:=s-m*2;end
              else
                  begin n:=n+1;s:=s-m;end;
    
              m:=m+1;
            end;
          writeln(n);
        end;
    end.
    
    

    Java :

    import java.util.Scanner;
    
    
    public class Main {
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            while (in.hasNext()) {
                int A = in.nextInt();
                int B = in.nextInt();
                if (B - A >= 0 && B - A <= 3) {
                    System.out.println(B - A);
                    continue;
                }
    
                int i = 1;
                int a = B - A;
                int res = 0;
                while (a >= 2 * i) {
                    a -= 2 * i++;
                    res += 2;
                }
    
                if (a <= i&&a>0) {
                    res++;
                } else if (a > i) {
                    res += 2;
                }
    
                System.out.println(res);
            }
        }
    }
    
    
    • 1

    信息

    ID
    1991
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者