Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-02-20
年龄: 35
帖子: 12
声望力: 18 ![]() |
![]()
如何用matlab做一个验证哥德巴赫猜想的程序?
|
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-01-02
帖子: 247
声望力: 22 ![]() |
![]()
这个问题不难,试作一下。
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-02-20
年龄: 35
帖子: 12
声望力: 18 ![]() |
![]()
来灌水的啊,至少给个提示吧。
|
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-02-20
年龄: 35
帖子: 12
声望力: 18 ![]() |
![]()
先做一个判断合质数的函数:
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 |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2008-02-20
年龄: 35
帖子: 12
声望力: 18 ![]() |
![]()
判断单个大偶数是否成立:
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 |
初级会员
注册日期: 2008-02-20
年龄: 35
帖子: 12
声望力: 18 ![]() |
![]()
判断从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 |
![]() |
![]() |
![]() |
#7 |
初级会员
注册日期: 2008-02-20
年龄: 35
帖子: 12
声望力: 18 ![]() |
![]()
老大,看在俺积极响应倡议的份上,加下lab币撒。
|
![]() |
![]() |
![]() |
#8 |
初级会员
注册日期: 2008-02-20
年龄: 35
帖子: 12
声望力: 18 ![]() |
![]()
呵呵,谢了。
|
![]() |
![]() |
![]() |
#9 |
初级会员
注册日期: 2016-03-26
帖子: 1
声望力: 0 ![]() |
![]()
这是判断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 |
![]() |
![]() |