黑马程序员技术交流社区

标题: 费马大定理 [打印本页]

作者: 西瓜君    时间: 2014-3-20 17:50
标题: 费马大定理
费马大定理是这样描述的:不存在整数a,b,c使得:a∧n+b∧n=c∧n成立,除了n=2
写一个名为checkFermat的方法,接受4个整数a,b,c,n作为参数,检测费马的理论是否正确。如果存在大于2的整数n,使得a∧n+b∧n=c∧n成立,程序应该打印“老天,费马错了”,否则打印“不,确实成立。”
假设有一个名为raiseTopow的方法,接受两个整数作为参数x和n,返回结果为x的n次方。
求大神解答啊!!谢谢
作者: 焚雨成灰    时间: 2014-3-20 18:06
void checkFermat(int a, int b, int c, int n) {
                boolean result = (Math.pow(a,n)+Math.pow(b, n) == Math.pow(c, n));
                if(result == true)
                        System.out.println("老天,费马错了");
                else
                        System.out.println("不,确实成立。");
        }
作者: 严涛    时间: 2014-3-20 19:20
楼上的那位哥们正解。但是如果把方法的返回值改为boolean就更完美了。如下:

  1. boolean checkFermat(int a, int b, int c, int n) {
  2.                 boolean result = (Math.pow(a,n)+Math.pow(b, n) == Math.pow(c, n));
  3.                 if(result == true)
  4.                         System.out.println("老天,费马错了");
  5.                 else
  6.                         System.out.println("不,确实成立。");
  7. return result ;
  8.         }
复制代码

楼主,JAVA中Math.pow(a,n)方法,就是返回a的n次方。
作者: 西瓜君    时间: 2014-3-20 22:42
焚雨成灰 发表于 2014-3-20 18:06
void checkFermat(int a, int b, int c, int n) {
                boolean result = (Math.pow(a,n)+Math.pow(b, n) == M ...

谢谢解答:loveliness:
作者: 西瓜君    时间: 2014-3-20 22:54
严涛 发表于 2014-3-20 19:20
楼上的那位哥们正解。但是如果把方法的返回值改为boolean就更完美了。如下:

楼主,JAVA中Math.pow(a,n)方 ...

谢谢啦:lol




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2