-6
これにはどのように再帰的な手順を記述しますか? Nは整数であり、C <です。手順はCの桁数Nを返さなければなりません。N数字Cの桁数を返す再帰プロシージャを記述しますか?
これにはどのように再帰的な手順を記述しますか? Nは整数であり、C <です。手順はCの桁数Nを返さなければなりません。N数字Cの桁数を返す再帰プロシージャを記述しますか?
完全な回答は得られませんが、私はあなたの指向を助けるでしょう。
再帰関数を書くには、2つの部分を考える必要があります。
ベースケース - あなたが扱うことができる最も簡単なケースは何ですか?この問題は、Nが1桁の場合に発生します。
再帰的ケース - N桁の数字を処理できるとします。 1桁の関数とN桁の関数を使って、N + 1桁の数値をどのように解くことができますか?答えは、1桁を切り刻むことです。その桁を1桁のチェッカーに、もう1桁の数字をN桁のチェッカーに送ります。 (「N桁チェッカーは、」あなたが書いている非常に機能です。)
擬似コードでは、再帰関数は通常、そのように構成されています
def recursive_function(n):
if is_base_case:
return base_case(n)
else:
return combine(
recursive_function(smaller(n)),
base_case(bite_sized_chunk(n))
)
あなたの仕事をしています記入:
is_base_case
試験:n
は1桁ですか?base_case
関数は、1桁の数字のみを処理します。smaller
関数の最後の桁を除いて、すべてがn
になります。 n
が1234の場合、smaller(n)
は123.bite_sized_chunk
の関数で、最後の数字はn
です。 n
が1234の場合、bite_sized_chunk
は4です。combine
関数は、ベースケースと再帰的解答を組み合わせています。(これらの機能のいずれもが、実際の別々の機能である必要はありません。彼らは、インライン化することができます。)
あなたが最初に何かをしようとしていない場合は、質問をご遠慮ください。これは、要件を削除してコード化するサイトではありません。 –
これはHWのように思えますが、これはさらに悪いことです。 – kabanus
@kabanusそれはhwではない、私はテストのために練習していると私は立ち往生した、私は知っているすべてを試してみました..私はプログラミングでは新しく、私はここでaccを作成しました。申し訳ありませんが、私は適切に質問する方法を理解していない場合。私はコード全体を必要としませんでした、ちょっとした助けになりました –