To accept two numbers from the user and display perfect numbers between these two numbers.

3 Ansichten (letzte 30 Tage)
hi,
how do i write the code for the above? how do i continue from here. thank you very much.
clc
num1 =input('Enter num1 value ');
num2 =input('Enter num2 value ');

Antworten (3)

Walter Roberson
Walter Roberson am 23 Mai 2015
num1 =input('Enter num1 value ');
num2 =input('Enter num2 value ');
for n = num1 : num2
if isperfectnumber(n)
disp(n);
end
end
Now you just have to write the function isperfectnumber() that returns true if its input is a perfect number.
  3 Kommentare
Walter Roberson
Walter Roberson am 24 Mai 2015
As I wrote above:
"Now you just have to write the function isperfectnumber() that returns true if its input is a perfect number."
Josaiah Ang
Josaiah Ang am 24 Mai 2015
Thank you Walter.
i require some help on writing the function to determine the perfect number.
I have just only started using matlab for 2 weeks. Hope you could help me. Thank you.

Melden Sie sich an, um zu kommentieren.


Image Analyst
Image Analyst am 23 Mai 2015
Here's something a little more user friendly and robust:
% Ask user for two floating point numbers.
defaultValue = {'45.67', '78.91'};
titleBar = 'Enter a value';
userPrompt = {'Enter floating point number 1 : ', 'Enter floating point number 2: '};
caUserInput = inputdlg(userPrompt, titleBar, 1, defaultValue);
if isempty(caUserInput),return,end; % Bail out if they clicked Cancel.
% Convert to floating point from string.
usersValue1 = str2double(caUserInput{1})
usersValue2 = str2double(caUserInput{2})
% Check for a valid number.
if isnan(usersValue1)
% They didn't enter a number.
% They clicked Cancel, or entered a character, symbols, or something else not allowed.
% Convert the default from a string and stick that into usersValue1.
usersValue1 = str2double(defaultValue{1});
message = sprintf('I said it had to be a number.\nI will use %.2f and continue.', usersValue1);
uiwait(warndlg(message));
end
I don't of any real world uses for a perfect number, so I assume that this is homework. So you can write that algorithm, like Walter said.

Roger Stafford
Roger Stafford am 23 Mai 2015
As part of your procedure in identifying a perfect number you need to determine the sum of all the divisors of a given integer, n, except n itself. This will find it for you:
N = 1:n-1;
s = sum(N(mod(n,N)==0));

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by