Code printing double line
이전 댓글 표시
num1 =input('Enter your 1st number: ');
num2 =input('Enter your 2nd number: ');
%returns an 1-by-num2 matrix of zeros
PerfectNumber= zeros(1,num2);
for pp = num1:num2 % pp = Potential Perfect number, variable for the range
if true
end
pd = 1:pp-1;
%test all potential numbers up to pp-1 because of the definition of a perfect number.
%potential divisors, named 'pd' in the code
if (sum(pd(mod(pp,pd) == 0)) == pp)
%mod(pp,pd) returns the remainder after dividing pp by pd.
%If a number is a divisor, the remainder is 0, so mod return zero.
%check if the sum of all divisors = pp
PerfectNumber(pp) = pp;
%it have found a perfect number and store this number in a variable 'output' at the pp'th position
if false
else PerfectNumber (PerfectNumber == 0) = [];
%all positions where output is 0 are replaced by the empty matrix []
fprintf ('\nThe Perfect Numbers are : %d', PerfectNumber);
%And it will print out the name line + the perfect number
end
%After this loop we have the perfect numbers at the position of the perfect numbers.
end
end
fprintf ('\nThe program ends here, Good bye %s !',un);
%to inform the user that the program has ended or when the entry is invalid it end the program.
end
And my out put would be
Enter your 1st number: 1
Enter your 2nd number: 50
The Perfect Numbers are : 6
The Perfect Numbers are : 6
The Perfect Numbers are : 28
The program ends here, Good bye !>>
What should i do to my code so that it only print the line "The Perfect Numbers are : 6" once and not double like this.
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Function Creation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!