用matlab写个小程序如果两个连续自然数的乘积减1是素数,那么这两个连续的自然数称为亲密数对,该素数为亲密素数。例如,
1个回答

%%%%没有用到内部函数!!!

PrimeNumber=[2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97];

k=1;

for i=2:100

temp=i*(i-1)-1;

for j=1:length(PrimeNumber)

if temp==PrimeNumber(j)

Result(k,1)=i; %亲密数对中的第一个数

Result(k,2)=i-1; %亲密数对中的第二个数

Result(k,3)=temp; %亲密素数

k=k+1;

break;

end

end

end

% 计算亲密素数和

SumPrime=0;

for i=1:k-1

SumPrime=SumPrime+Result(i,3);

end

% 数对个数

disp('数对个数');disp(k-1);

% 亲密素数和

disp('亲密素数和');disp(SumPrime);