![]() |
【求助】如何用matlab做一个验证哥德巴赫猜想的程序?
如何用matlab做一个验证哥德巴赫猜想的程序?
|
这个问题不难,试作一下。
|
来灌水的啊,至少给个提示吧。
|
先做一个判断合质数的函数:
function k=zhs(x) k=1; if x<=1 disp('error!') k=-1; return end if x>=4 for i=2:sqrt(x) if mod(x,i)==0 k=0; break end end end |
判断单个大偶数是否成立:
x=input('x=') if mod(x,2)>0|x<6 disp('data error!') return end for i=2:x./2 k=zhs(i); k1=k; k=zhs(x-i); k2=k; if k1>=1&k2>=1; fprintf('%.0f=%.0f+%.0f\n',x,i,x-i) break end end |
判断从6到上限x的大偶数是否成立:
clear;clc; x=input('x=') n=0; t=x./2-2; if mod(x,2)>0|x<6 disp('data error!') return end for m=2*(3:x./2) for i=2:m./2 k=zhs(i); k1=k; k=zhs(m-i); k2=k; if k1>=1&k2>=1; n=n+1; fprintf('%.0f %.0f=%.0f+%.0f\n',n,m,i,m-i) break end end end if n>=t&n<=t; disp('the numbers which have been examed are all correct!') elseif n>t|n<t; disp('it is wrong!') end |
老大,看在俺积极响应倡议的份上,加下lab币撒。
|
呵呵,谢了。
|
回复: 【求助】如何用matlab做一个验证哥德巴赫猜想的程序?
这是判断10000以内成立的代码:
clear; E = primes(10000); num = 0; for x = 2:2:10000 for i = 1:length(E) if ismember( x - E(i),E) == 1 num = num + 1; end end end |
所有时间均为北京时间。现在的时间是 14:19。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.