replace matlab function with algorithm

2 ビュー (過去 30 日間)
Josaiah Ang
Josaiah Ang 2015 年 5 月 27 日
コメント済み: Josaiah Ang 2015 年 5 月 28 日
this is my current code. how do i replace the isperfect function to n = p1 · p2 · ... · pt
disp('Perfect numbers!');
disp('Enter two numbers(intervals)');
num1 = input('Enter num1 value: ');
num2 = input('Enter num2 value: ');
fprintf('Perfect numbers between %d and %d are: ', num1, num2);
for i = num1:num2
if isperfect(i)~=0
fprintf('%d, ',i)
end
end
  3 件のコメント
Adam
Adam 2015 年 5 月 27 日
isperfect is not a builtin Matlab function so I don't see what the problem is. You can program an algorithm in a function called isperfect just like any other function.
Indeed, if such a function doesn't exist on your system then that code will not run anyway.
Josaiah Ang
Josaiah Ang 2015 年 5 月 27 日
thank Adam. thanks for the clarification. in this case, is something wrong with the code for me to get the perfect number?

サインインしてコメントする。

回答 (2 件)

Al Dente
Al Dente 2015 年 5 月 27 日
編集済み: Al Dente 2015 年 5 月 27 日
your tags say prime, so I assume you want to find out prime numbers:
isprime(i)~=0
would that be the answer to your question?
  1 件のコメント
Josaiah Ang
Josaiah Ang 2015 年 5 月 27 日
sorry i tag wrongly.
i want to display the perfect numbers between the 2 input by user.

サインインしてコメントする。


Roger Stafford
Roger Stafford 2015 年 5 月 27 日
I have given you a pretty good hint four days ago at solving your problem in the #218267 Answers thread. Why don't you try using it?
  3 件のコメント
Roger Stafford
Roger Stafford 2015 年 5 月 28 日
In all your remarks, Josaiah Ang, there is no evidence that you actually understand the meaning of a perfect number. If that is true, getting an understanding should be your next move. You can read about it at:
http://en.wikipedia.org/wiki/Perfect_number
or at a number of other sites as well.
Your next move after that should be to do some computation by hand and see why 6 and 28 are perfect numbers and others in between are not.
At that point you will hopefully be ready to make use of the hint I have given you in #218267.
Josaiah Ang
Josaiah Ang 2015 年 5 月 28 日
Hi Roger, Do you think i'm anywhere close to that?
disp('Perfect numbers!');
disp('Enter two numbers(intervals)');
num1 = input('Enter num1 value: ');
num2 = input('Enter num2 value: ');
fprintf('Perfect numbers between %d and %d are: ', num1, num2);
for N = num1:num2-1;
S = sum(N(mod(n,N)==0));
fprintf('%d, ',s)
end
end

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGet Started with MuPAD についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by