c语言验证费马大定理,数论概论 第四章 高次幂之和与费马大定理 习题解答(宋二娃的BLOG)...

//解答为本人所写,若有纰漏欢迎指正

4.1 略

4.2 (a)   根据提示(寻求形如(a,b,c)=(xz,yz,z^2)的解)PS:c>=b>=a>=1

①(2*35,3*35,35*35)=(70,105,1225)

②(2*72,4*72,72*72)=(144,288,5184)

③略(二娃比较懒)

④a^3 + b^3 = c^3   ==>  x^3 * z^3 + y^3 * z^3 = z^4

==>x^3 + y^3 = z

(O(∩_∩)O哈哈~  只需要保证 x <= y && x,y都是大于等于1的整数就可以保证 c>=b>=a>=1咯)

(b)  比较简单,略过

(c)  这个直接编个程序来跑一跑,代码如下:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

typedef long long ll;

const int INF=0x3f3f3f3f;

using namespace std;

struct Node{

int a,b;

Node()=default;

Node(long long c,long long d){

a=c,b=d;

}

};

bool check(long long a,long long b){

long long gcd=__gcd(a,b);

bool flag=1;

for(long long i=2;i*i<=gcd;i++){

if(gcd%(i*i)==0){

flag=0;

break;

}

}

long long c_2=a*a*a+b*b*b;

long long sc_2=sqrt(c_2);

if(c_2!=sc_2*sc_2)flag=0;

return flag;

}

int main()

{

#ifdef LOCAL

freopen("in.txt","r",stdin);

//freopen("out.txt","w",stdout);

#endif

//ios::sync_with_stdio(false);

const long long maxn=100005;

vectorans;

for(long long b=1;b<=maxn;b++){

if(ans.size()>=4)break;

for(long long a=1;a<=b;a++){

if(check(a,b)){

ans.push_back(Node(a,b));

}

}

}

for(int i=0;i

return 0;

}

实在抱歉啊,二娃不知道怎么把字体弄成彩色0.0

运行如下:

0818b9ca8b590ca3270a3433284dd417.png

(d) ∵ a=b

∴ a^3 + b^3 = 2 * a^3 = c^2

∴ sqrt(2 * a) * a = c

∴ a = 2 * k^2 (k ∈ N +)

∴ a = b = 2 * k^2,c = 4 * k^3

当且仅当 k = 1 时,(a,b,c)为本源解

(e) 稍微修改一下程序即可得解

0818b9ca8b590ca3270a3433284dd417.png        谢谢阅读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值