分太少,一般的枚举的话,复杂度是指数增长的,1000都要算很久。
加到100分,by vase。
for q=2:100
for n=1:50
Sol=solve(['m*(m+1)/2-',num2str(n*(n+1)/2),'=',num2str(q)])
Sol=double(Sol)
a=find(Sol>0)
so=Sol(a)
if (fix(so)==so)&&((n+1)~=so)
disp([num2str(q),'=',num2str(n+1),'+.....+',num2str(so)])
break
end
end
end
%结果如下:
%规律有很多,其中大质数只能分解为两数之和;属于2的次方的数不能表示
%其他数的分解 此程序遵循分解的个数最多原则。
扩展资料:
Ⅰ 1是正整数;
Ⅱ 每一个确定的正整数a,都有一个确定的后继数a' ,a'也是正整数(数a的后继数a‘就是紧接在这个数后面的整数(a+1)。例如,1‘=2,2’=3等等。);
Ⅲ 如果b、c都是正整数a的后继数,那么b = c;
Ⅳ 1不是任何正整数的后继数;
Ⅴ 设S⊆N*,且满足2个条件(i)1∈S;(ii)如果n∈S,那么n'∈S。那么S是全体正整数的集合,即S=N*。(这条公理也叫归纳公理,保证了数学归纳法的正确性)
参考资料来源:百度百科-正整数
字交叉验证的基本思路是,1。选取6组做检测,剩余的做训练样本对模型进行训练,然后检验模型的性能。
2。选取与前次不同的6组做检测,剩余的做训练样本对模型进行训练,然后检验模型的性能。
3。重复以上步骤,直到所有的样本都被用作1次检测样本。也就是说10次循环就可以了。
TF=0while(~TF)
n=input('输入大于2的偶数:')
hn=floor(n/2)
TF=(n==2*hn)&(n>2)%输入并检查
end
p=primes(n)%n之内质数表
i=1
while(p(i)<=hn)
d=n-p(i)
if any(p==d)
fprintf('%d=%d+%d\n',n,p(i),d)
end
i=i+1
end
输入大于2的偶数:20
20=3+17
20=7+13
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)