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 件)

カテゴリ

ヘルプ センター および File ExchangeStructures についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by