1 条题解
-
0
C :
#include <stdio.h> void main(){ int a,b,c,t; double s; scanf("%d%d%d",&a,&b,&c); if(a > b){ t=a;a=b;b=t; } if(b > c){ t=b;b=c;c=t; } if(a*a+b*b==c*c){ s = a * b / 2.0; printf("%.1f",s); }else{ printf("No"); } }C++ :
#include<iostream> #include <iomanip> using namespace std; int main(){ int a,b,c,t; double s;//面积 cin>>a>>b>>c; if(a>b){ t=a; a=b; b=t; } if(b>c){ t=b; b=c; c=t; } if(a*a+b*b==c*c){ s = a * b * 1.0 / 2; cout<<fixed<<setprecision(1)<<s<<endl; }else{ cout<<"No"<<endl; } }Pascal :
var a:array[1..5] of longint; i,j,t:longint; s:real; begin for i:=1 to 3 do read(a[i]); for i:=1 to 2 do for j:=i+1 to 3 do if a[i]>a[j] then begin t:=a[i];a[i]:=a[j];a[j]:=t; end; if a[1]*a[1]+a[2]*a[2]=a[3]*a[3] then begin s:=a[1]*a[2]/2; writeln(s:0:1); end else writeln('No'); end.Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String str=scanner.nextLine(); String[] strarray=str.split(" "); double a=Double.valueOf(strarray[0]); double b=Double.valueOf(strarray[1]); double c=Double.valueOf(strarray[2]); Double s=0.0; String result; if((a+b>c)&&(b+c>a)&&(a+c>b)){ if(a*a==b*b+c*c){ s=(double)(b*c)/2; }else if(b*b==a*a+c*c){ s=(double)(a*c)/2; }else if(c*c==a*a+b*b){ s=(double)(a*b)/2; }else{ } }else{ } if(s!=0.0){ result = String.format("%.1f",s); }else{ result="No"; } System.out.println(result); } }Python :
a,b,c=map(int,input().split(" ")) if a**2+b**2==c**2: s=0.5*a*b print("%.1f"%s) elif a**2+c**2==b**2: s=0.5*a*c print("%.1f"%s) elif b**2+c**2==a**2: s=0.5*b*c print("%.1f"%s) else: print("No")
- 1
信息
- ID
- 46
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 4
- 已通过
- 1
- 上传者