| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 817 人关注过本帖
标题:惭愧啊 被这个小题目给难道了 帮忙看看
只看楼主 加入收藏
gxl741852
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-6-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
惭愧啊 被这个小题目给难道了 帮忙看看
内容:


1/x2+1/y2=1/z2 其中正整数xyz成为一组倒立的勾股数!注意,是正整数哦!

你的任务是输出60以内的倒立勾股数,按x的的增序输出(每行一个)。

 
 public class Main
{
  public static void main(String[] args)
    {
            //  Scanner a = new Scanner(System.in);
             //  String b=a.next();
     double a,b,c;
      for( int x=1;x<61;x++){
         // a=1/(x*x);
           a=(double)(1.0/x*x);
              for(int y=1;y<61;y++){
               b=(double)(1.0/(y*y));

                     for(int z=1;z<61;z++){
                      c=(double)(1.0/(z*z));

                          if(a+b==c){
                          System.out.println(x+" "+y+" "+z);

               }
            }
         }
       }
    }
 }
搜索更多相关主题的帖子: public double 正整数 
2010-07-29 19:25
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:20 
.........这样做肯定不行的,用通分啊。
2010-07-29 20:22
gxl741852
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-6-29
收藏
得分:0 
好的  我去试试
2010-07-29 20:36
aufish
Rank: 2
等 级:论坛游民
威 望:1
帖 子:59
专家分:94
注 册:2010-4-22
收藏
得分:0 
public class Shu
{
  public static void main(String[] args)
    {
            //  Scanner a = new Scanner(System.in);
             //  String b=a.next();
     double a,b,c;
      for( double x=1;x<61;x++){
         // a=1/(x*x);
           a=(1.0/x*x);
              for(double y=1;y<61;y++){
               b=(1.0/(y*y));

                     for(double z=1;z<61;z++){
                      c=(1.0/(z*z));

                          if(a+b-c<0.0001&&a+b-c>-0.0001){//误差范围内都以为相等
                          System.out.println(x+" "+y+" "+z);

               }
            }
         }
       }
    }
}

[ 本帖最后由 aufish 于 2010-7-29 20:44 编辑 ]
2010-07-29 20:38
aufish
Rank: 2
等 级:论坛游民
威 望:1
帖 子:59
专家分:94
注 册:2010-4-22
收藏
得分:0 
double float 都会存在  0.99999999999999!=1的 所以不要用==
2010-07-29 20:40
gxl741852
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-6-29
收藏
得分:0 
通分是王道  见识了  以后遇见分数的就先考虑的    脑子不好使了 放小学都会的
2010-07-29 20:52
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:0 
一个分数类
程序代码:
import java.math.BigInteger;

public class Fraction {

    BigInteger numerator, denominator, gcd;

    void set(String n, String d) {
        numerator = new BigInteger(n);
        denominator = new BigInteger(d);
    }

    void simplify() {
        gcd = numerator.gcd(denominator);
        numerator = numerator.divide(gcd);
        denominator = denominator.divide(gcd);
        if ((BigInteger.ZERO) < 0) {
            numerator = numerator.negate();
            denominator = denominator.negate();
        }
    }

    int compareTo(Fraction y) {
        Fraction z = this.subtract(y);
        return z.(BigInteger.ZERO);
    }

    Fraction abs() {
        Fraction z = new Fraction();
        if ((BigInteger.ZERO) < 0) {
            z.numerator = numerator.negate();
        } else {
            z.numerator = numerator;
        }
        if ((BigInteger.ZERO) < 0) {
            z.denominator = denominator.negate();
        } else {
            z.denominator = denominator;
        }
        return z;
    }

    Fraction negate() {
        Fraction z = this;
        z.numerator = z.numerator.negate();
        return z;
    }

    boolean zero() {
        return (BigInteger.ZERO) == 0;
    }

    Fraction add(Fraction y) {
        Fraction z = new Fraction();
        gcd = denominator.gcd(y.denominator);
        z.denominator = denominator.multiply(y.denominator).divide(gcd);
        z.numerator = numerator.multiply(z.denominator.divide(denominator)).add(y.numerator.multiply(z.denominator.divide(y.denominator)));
        z.simplify();
        return z;
    }

    Fraction subtract(Fraction y) {
        Fraction z = new Fraction();
        gcd = denominator.gcd(y.denominator);
        z.denominator = denominator.multiply(y.denominator).divide(gcd);
        z.numerator = numerator.multiply(z.denominator.divide(denominator)).subtract(y.numerator.multiply(z.denominator.divide(y.denominator)));
        z.simplify();
        return z;
    }

    Fraction multiply(Fraction y) {
        Fraction z = new Fraction();
        z.numerator = numerator.multiply(y.numerator);
        z.denominator = denominator.multiply(y.denominator);
        z.simplify();
        return z;
    }

    Fraction divide(Fraction y) {
        Fraction z = new Fraction();
        z.numerator = numerator.multiply(y.denominator);
        z.denominator = denominator.multiply(y.numerator);
        z.simplify();
        return z;
    }

    void print() {
        if ((BigInteger.ONE) != 0) {
            System.out.printf("%s/%s", numerator.toString(), denominator.toString());
        } else {
            System.out.printf("%s", numerator.toString());
        }
        System.out.println();
    }



 

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-07-30 09:41
liveningning
Rank: 1
等 级:新手上路
帖 子:17
专家分:9
注 册:2010-8-2
收藏
得分:0 
用通分看下吧。。。

www.
聚焦!专业!高效!服务人才!成就客户
2010-08-03 10:44
快速回复:惭愧啊 被这个小题目给难道了 帮忙看看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.068693 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved