For J and L (J<L) I want to find that values of p and q which satisfies mod(((i^b-i^a)*(i^d-i^c)),j)~=0 for all values of 0<=a<b<=J-1 and 0<=c<d<=L-1. If mod(((i^b-i^a)*(i^d-i^c)),j)==0 at any stage we break the loop and go for next values of p and q
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Jasvinder Singh
am 5 Jun. 2019
Kommentiert: Jasvinder Singh
am 5 Jun. 2019
J=input('Value of J: ');
L=input('Value of L: ');
for j = L:6;
for i = 2:j-1;
for a=0:J-1;
for b=a+1:J-1;
for c = 0:L-1;
for d = c+1:L-1;
if mod(((i^b-i^a)*(i^d-i^c)),j)~=0
p_q=[i,j]
end
end
end
end
end
end
end
output:
p_q = 2 3
p_q = 2 3
p_q = 2 4
p_q = 2 4
p_q = 2 4
p_q = 2 5
p_q = 2 5
p_q = 2 5
p_q = 3 5
p_q = 3 5
p_q = 3 5
p_q = 4 5
p_q = 4 5
p_q = 2 6
and so on.
Here the required answer is p=2 and q=5; it is the only combination for which mod(((i^b-i^a)*(i^d-i^c)),j)~=0 for any values of a,b,c,d. But here it is showing so many answers. Kindly help me.
2 Kommentare
Akzeptierte Antwort
Matt J
am 5 Jun. 2019
Bearbeitet: Matt J
am 5 Jun. 2019
[a,b,c,d]=ndgrid(0:J-1,0:J-1, 0:L-1, 0:L-1);
k=a<b & c<d;
[a,b,c,d]=deal( a(k), b(k), c(k), d(k)); %all allowed combinations
p_q=cell(6,6);
for j = L:6
for i = 2:j-1
if all( mod( (i.^b-i.^a).*(i.^d-i.^c) ,j) )
p_q{i,j} =[i,j];
end
end
end
p_q=vertcat(p_q{:})
3 Kommentare
Matt J
am 5 Jun. 2019
But d cannot equal 3 when L=3. In your original post, you say that 0<=d<=L-1, so the maximum value d can assume is 2.
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!