| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
![]()  | 
	
| 
	 | 
| 		
			
			 | 
		#1 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-02-20 
				
				年龄: 36 
				
					帖子: 12
				 
				
				
				声望力: 18 ![]()  | 
	
	
	
		
		
			
			 
			
			如何用matlab做一个验证哥德巴赫猜想的程序?
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			 高级会员 
			
			
			
			注册日期: 2008-01-02 
				
				
				
					帖子: 247
				 
				
				
				声望力: 22 ![]()  | 
	
	
	
		
		
			
			 
			
			这个问题不难,试作一下。
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-02-20 
				
				年龄: 36 
				
					帖子: 12
				 
				
				
				声望力: 18 ![]()  | 
	
	
	
		
		
			
			 
			
			来灌水的啊,至少给个提示吧。
		 
		
		
		
		
		
		
		
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 | 
| 		
			
			 | 
		#4 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 2008-02-20 
				
				年龄: 36 
				
					帖子: 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 
				
				年龄: 36 
				
					帖子: 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 
				
				年龄: 36 
				
					帖子: 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 | 
| 
			
			 初级会员 
			
			
			
			注册日期: 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  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |