this code isn't work with me. for example i want to calculate the odd number in 9 is 5 odd number
function d = oddn(n)
%this program calculate the odd numbers in a number
if n==0 | mod(n,2)==0
d=0
elseif mod(n,2)~=0
d=1
else
d=oddn(n-1)+oddn(mod(n,2))
end

2 件のコメント

KALYAN ACHARJYA
KALYAN ACHARJYA 2019 年 12 月 1 日
編集済み: KALYAN ACHARJYA 2019 年 12 月 1 日
"i want to calculate the odd number in 9 is 5 odd number"?
Can you clarify again?
Shahad Alsabi
Shahad Alsabi 2019 年 12 月 1 日
I mean,how many 'odd' numbers do nine contains by using recursion.Which is this code is finding the odd number in any number.

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

 採用された回答

Turlough Hughes
Turlough Hughes 2019 年 12 月 1 日
編集済み: Turlough Hughes 2019 年 12 月 1 日

1 投票

As I understand it you want to find the number of odd numbers from 1 to n. You shouldn't need to write a function for this, you can simply write:
d=ceil(floor(n)/2);
I used floor n, to account for circumstances where n is not an integer.

1 件のコメント

Turlough Hughes
Turlough Hughes 2019 年 12 月 1 日
If recursion is a requirement you could do the following:
function d = oddn(n)
if n<=0
d=0;
else
d=oddn(n-1)+mod(n,2);
end
end

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

その他の回答 (0 件)

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by