Longest Divisor Run | MATLAB

preview_player
Показать описание
Code is given in the comment section.
Рекомендации по теме
Комментарии
Автор

Code:


clc
clear all
close all
x=input('Enter the array:');
y=[];
gm=[];
vm=[];
for i=1:length(x)
for j=i:length(x)
for k=i:j
y=[y x(k)];
end
gcd=y(1);
for ic=1:length(y)
u=y(ic);
for it=1:u
if(rem(u, it)==0 && rem(gcd, it)==0)
c=it;
end
end
gcd=c;
end
if(gcd>1)
gm=[gm gcd];
vm=[vm length(y)];
end
y=[];
end
end
max=vm(1);
d=gm(1);
for i=1:length(gm)
if(max<vm(i))
max=vm(i);
d=gm(i);
end
end




As a function:


function [len, d] = divisor_run(x)
y=[];
gm=[];
vm=[];
for i=1:length(x)
for j=i:length(x)
for k=i:j
y=[y x(k)];
end
gcd=y(1);
for ic=1:length(y)
u=y(ic);
for it=1:u
if(rem(u, it)==0 && rem(gcd, it)==0)
c=it;
end
end
gcd=c;
end
if(gcd>1)
gm=[gm gcd];
vm=[vm length(y)];
end
y=[];
end
end
max=vm(1);
d=gm(1);
for i=1:length(gm)
if(max<vm(i))
max=vm(i);
d=gm(i);
end
end
len=max;


end

KnowledgeAmplifier