Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用斐波那契序列生成勾股三元组_Java_Math_Fibonacci - Fatal编程技术网

Java 用斐波那契序列生成勾股三元组

Java 用斐波那契序列生成勾股三元组,java,math,fibonacci,Java,Math,Fibonacci,我正在使用斐波那契序列根据这一页生成一些毕达哥拉斯三元组(3、4、5等):从“广义斐波那契序列”开始 是什么导致了这个问题?我被维基百科愚弄了吗?@MarkDickinson指出,公式要求F(1)=0和F(2)=1,这与广泛使用的F(1)=1和F(2)=1不同。这解决了我的问题 请注意,维基百科公式指定F_1=0和F_2=1;你有F_1=1和F_2=1。你完全正确!我以为它符合标准,但我想不是!谢谢@马克·迪金森也接受你的回答!有时间限制!(在你为自己发布答案后3天)@shekharsuman

我正在使用斐波那契序列根据这一页生成一些毕达哥拉斯三元组(3、4、5等):从“广义斐波那契序列”开始


是什么导致了这个问题?我被维基百科愚弄了吗?

@MarkDickinson指出,公式要求F(1)=0和F(2)=1,这与广泛使用的F(1)=1和F(2)=1不同。这解决了我的问题

请注意,维基百科公式指定F_1=0和F_2=1;你有F_1=1和F_2=1。你完全正确!我以为它符合标准,但我想不是!谢谢@马克·迪金森也接受你的回答!有时间限制!(在你为自己发布答案后3天)@shekharsuman
public static int fib(int n) {
        if(n == 0) return 0;
        if(n <= 2) return 1;
        int i = 1;
        int temp = 0;

        while(n != 1) {
            i += temp;
            temp = i - temp;
            n--;
        }

        return i;
    }

    public static void main(String[] args) {
        int a = 4; //a(3)
        int b = 3; //b(3)
        int c = 5; //c(3)

        for(int n = 4; n < 10; n++) {
            System.out.println(a + "^2 + " + b + "^2 = " + c + "^2");
            a = a + b + c;
            b = fib((2 * n) - 1) - b;
            c = fib(2 * n);
        }  
    } 
4^2 + 3^2 = 5^2
12^2 + 10^2 = 21^2
43^2 + 24^2 = 55^2
122^2 + 65^2 = 144^2
331^2 + 168^2 = 377^2
876^2 + 442^2 = 987^2