1 条题解
-
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; }
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
- 上传者