Pythagorean triples - wrong output in loop
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
sznailc
le 3 Nov 2021
Réponse apportée : the cyclist
le 3 Nov 2021
Hello, I have this piece of code, it computes pythagorean triples, then adds them in a matrix, but in output for some reason it adds lines with zeros. How do I change the code to run properly?
And 1 more thing how to make it print sorted by a+b+c column, not by a like now?
UPD. I have solved 1 part of the question with "R = reshape(nonzeros(R), I, 4);
"
function [R, I] = pyth_tri(N)
I = 0;
for a = 3:N/3
for b = a:N/3
for c = b:N
if (a^2 + b^2) == c^2 && a ~= 0 && b ~= 0 && c ~= 0
R(a, :) = [a+b+c, a, b, c]
I = I + 1;
end
end
end
end
end
0 commentaires
Réponse acceptée
the cyclist
le 3 Nov 2021
You need
R(I+1, :) = [a+b+c, a, b, c];
rather than
R(a, :) = [a+b+c, a, b, c];
For sorting, after your run your algorithm, run
R = sortrows(R,1)
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!