数据结构-用java实现,三边和小于定值的所有能可以组成三角形的三边

问题描述

用java实现,三边和小于定值的所有能可以组成三角形的三边

比如说:
求所有三边和小于10的,能组成三角形的三边,以数组的形式输出。
三边全部为正整数!
求各位大神帮忙看看这个算法应该怎么写。

解决方案

好吧,我自己终结我自己:
package face.test;

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

解决方案二:

任意两边和大于第三边,两边之差小于第三边
用前面一个条件基本可以做判定条件了

时间: 2024-08-02 19:53:04

数据结构-用java实现,三边和小于定值的所有能可以组成三角形的三边的相关文章

一个让开发人员仅通过声明式代码的方式实现智能数据结构的Java框架

一个朋友的框架发布1.1版本,和1.0在运行时生成额外字节码不同,1.1在编译时通过maven插件生成额外字节码,因此避免了暴露微量的设计模式给用户,让用法更简单粗暴,性能也更高.很大一部分不太像框架了,而更像是java语言的扩展,是个重大升级.此外,充分吸取1.0的教训,给出架构图并,让所有文档中英文双版,避免别人不明全局.另外,不再兼容java7. 原文 - https://github.com/babyfish-ct/babyfish/blob/master/README_zh_CN.md

java数据结构之java实现栈_java

复制代码 代码如下: import java.util.Arrays; /** * 栈的实现<br> * @author Skip * @version 1.0 */public class Stack<T> { private int size;    //栈中元素的个数 private Object[] arr;  //底层数组 private final int defaultLength = 200; //默认长度  /**  * 无参构造,使用默认长度初始化数组  */ 

利用数据结构的想法用java编写学生成绩管理

问题描述 利用数据结构的想法用java编写学生成绩管理 利用数据结构的想法用java编写学生成绩管理这样的大作业,要全部源代码和类 解决方案 其实有很多java书上都有这个例子的实例,你又何必在这里做伸手党呢?到时候照着书上慢慢敲代码慢慢测试,自己能学到东西多好呢? 解决方案二: 数据结构?java对数据结构弱化了很多,很多常用的数据结构,java都做了封装,直接使用就可以了

Java 数据结构链表操作实现代码_java

 链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表.循环链表.双向链表,下面将逐一介绍.链表在数据结构中是基础,也是重要的知识点,这里讲下Java 中链表的实现, JAVA 链表操作:单链表和双链表 主要讲述几点: 一.链表的简介 二.链表实现原理和必要性 三.单链表示例 四.双链表示例 一.链表的简介 链表是一种比较常用的数据结构,链表虽然保存比较复杂,但是在查询时候比较便捷,在多种计算机语言都相应的应用,链表有多种类别,文章针对单链表和双链表进行分析.链表中数据就像被一个

java 数据结构 冒泡排序实现代码_java

冒泡(Bubble Sort)排序的基本思想是:将待排序的数组看作从上倒下排列,把关键字较小的记录看作较轻的,关键字较大的看作较重的,较小的关键字的值看作是水中的气泡向上浮,较大的关键字如水中的石块向下沉,当气泡都浮到相应的位置的时候排序结束. 算法性能分析                         (1)      时间复杂素.总的一定此次数为3/2(n-1)*n                         (2)      空间复杂度.仅用了一个辅助单元空间复杂度为O(1)    

从ConcurrentHashMap的演进看Java多线程核心技术

线程不安全的HashMap众所周知,HashMap是非线程安全的.而HashMap的线程不安全主要体现在resize时的死循环及使用迭代器时的fast-fail上. 注:本章的代码均基于JDK 1.7.0_67 HashMap工作原理HashMap数据结构常用的底层数据结构主要有数组和链表.数组存储区间连续,占用内存较多,寻址容易,插入和删除困难.链表存储区间离散,占用内存较少,寻址困难,插入和删除容易. HashMap要实现的是哈希表的效果,尽量实现O(1)级别的增删改查.它的具体实现则是同时

诊断 Java 代码:设计轻松的代码维护

设计 本月,Eric Allen 解释了在使代码更易于维护的同时,避免和控制无理由的变化怎么会是保持代码健壮性的关键.他集中讨论了诸如函数样式代码编写之类的概念,以及标记字段.方法和类的方法来处理并防止可变性.Eric 还解释了本任务中单元测试和重构的角色,并提供了协助实现重构的两个工具.在相关论坛中与作者和其他读者分享您对本文的看法.(您也可以单击本文顶部或底部的"讨论",访问该论坛.)有效调试源自良好的编程.设计易于维护的程序是程序员面临的最困难挑战之一,其部分原因在于程序通常并不

Java中单向链表的实现:增删查改功能

写一个大家都比较熟悉的数据结构:单向链表. 不过先告诉大家一个小秘密,java的API里面已经提供了单向链表的类,大家可以直接拿来用,不过学习数据结构课程的时候想必大家也已经知道,虽然系统会给我们提供一些常用的数据结构,但是自定义的总是能够带来不同的喜感的,而且通过自己的编写也更能够让我们了解其中实现的过程,而且我们还可以写一些比较个性化的方法作为属于自己的数据结构.这里主要是介绍一些常用结构里面都会用到的方法,以及链表具体是如何操作的. 首先,单链表相对于队列的优势在于存储地址不是连续的,这样

CICS Java环境简介

简介 IBM CICS 的优势之一是它支持多种编程语言,并允许您将它们混合到一个应用程序中.但是,如果基于 CICS 的应用程序仅使用 Java,而您想要利用各种 CICS Java 环境的优势.当在 CICS 程序之间传递数据时,通常会将数 据放在面向字段的系列字节结构中,以便用任何语言编写的应用程序都能够访问这些数据.但是,如果您只使用 Java 语言 ,则最好将数据放在面向对象的 Java 环境中,并在基于 CISS 的 Java 程序之间传递 Java 数据对象.本系列文章将讨论 CIC