注册 登录
编程论坛 C语言论坛

求助求助,求大佬 求Pell’s equation p^2-2q^2=1的前50对解

楚子航992 发布于 2020-05-04 09:46, 1841 次点击
不会做啊,刚学  求大佬
7 回复
#2
forever742020-05-04 20:28
这儿比较流行提建议而不是代写作业。
建议自己写。
#3
楚子航9922020-05-06 08:01
回复 2楼 forever74
呵呵呵呵呵,以前也有人直接发题目呀,然后就有好多给代码,怎么到我这就特么成了代写作业题?首先我这不是作业题,其次老子做了,你自己嫌麻烦懒得写就直说好叭,别来个什么什么那么高大上的理由好叭。
#4
forever742020-05-06 09:48
好吧,三十多位数而已,我懒得写。
请抓紧时间漱口。
#5
lin51616782020-05-06 10:00
被宠坏了
好像给你写代码是你给的恩赐?
告辞
#6
楚子航9922020-05-06 12:18
回复 4楼 forever74
你可以试试,30多位数懒得写,你30多位数跑一晚上根本出不来50组数好吧,50组数,直接写谁都会,关键怎么提高速度
#7
楚子航9922020-05-06 12:21
回复 4楼 forever74

#include<Windows.h>
#include <stdio.h>
#include <math.h>
int main(){
    long long p = 1;
    long long a;
    long long q;
    int cnt = 0;
    while (1){
        p += 1;
        a = p*p - 1;
        if (a % 2)continue;
        a /= 2;
        q = (long long)(sqrt(a));
        if (q*q == a){
            printf("(%d,", p);
            printf("%d)\n", q);
            cnt++;
        }
        if (cnt == 50){
            break;
        }
    }

    system("pause");
    return 0;
}

直接这么写这道题代码谁都会,但是直接这么写跑一晚上都出不来50组数,到第10组已经是9位数了,我来问的是怎么提高运算速度,不是让代写作业
#8
forever742020-05-06 16:41
48:     p=2788918330588564181308597538924774401
        q=1972063063734639263984455073299118880
49:     p=16255007246704249599863612909970798723
        q=11494025852381046154570560297746905442
50:     p=94741125149636933417873079920900017937
        q=66992092050551637663438906713182313772
51:     p=552191743651117350907374866615429308899
        q=390458526450928779826062879981346977190
52:     p=3218409336757067172026376119771675835457
        q=2275759066655021041292938373174899549368

299:    p=3970359538627141768745136924051629278934532414168302185845978291636400308586225101151663474890225331030982965175936684974467113263011175842202330084280066537261204813901170711991222754800589060979398628844344506297856750918628003
        q=2807468153511944118240192072514674318872192042112894044212920158702492925458507582968375117566751515586225089977161703318012410878192956326210322645951691474325614267636917988664916797113868079670912358996717012103324014473278998
300:    p=23140951229929201779196179062213585112292365410956482734389615509719172627592705635328490894937682055437849255436456868195450983301805352831448280836646965509086071512251184090633335452857239501621845322519901567306866310649000001
        q=16363123537790115892210850065647281514485640954675286504330717059380279393547972951208452302480705208820641200283358479902971459160601220663035628106415207497499252430713095389977195900942782360971534334678840048905685545257093000

所以你是来挖坑的。
问题是拉格朗日大神早就告诉我们,这玩意是有公式的,秒出。
1