比如说:
求所有三边和小于10的,能组成三角形的三边,以数组的形式输出。
三边全部为正整数!
求各位大神帮忙看看这个算法应该怎么写。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
public class AddTest {
public static void main(String[] args) {
int a,b,c;
double d;
for (int i = 0; i < 999; i++) {
a = i/100;
b = (i-100*a)/10;
c = i%10;
if (a+b+c < 10 && a+b>c && a-b <c && a !=0 && b!= 0 && c!=0 && a>=b) {
d = (double)(a+b+c)/2;
System.out.print(a + "\t" + b +"\t" + c);
System.out.println("面积" + Math.sqrt(d*(d-a)*(d-b)*(d-c)));
}
}
}
}
结果:
1 1 1 面积: 0.4330127018922193
2 1 2 面积: 0.9682458365518543
2 2 1 面积: 0.9682458365518543
2 2 2 面积: 1.7320508075688772
2 2 3 面积: 1.984313483298443
3 1 3 面积: 1.479019945774904
3 2 2 面积: 1.984313483298443
3 2 3 面积: 2.8284271247461903
3 2 4 面积: 2.9047375096555625
3 3 1 面积: 1.479019945774904
3 3 2 面积: 2.8284271247461903
3 3 3 面积: 3.897114317029974
4 1 4 面积: 1.984313483298443
4 2 3 面积: 2.9047375096555625
4 3 2 面积: 2.9047375096555625
4 4 1 面积: 1.984313483298443