2016-04-07 14 views
-4

私は、階乗基底の和を返すプログラムをPythonで書く必要があります。数値階乗ベースを計算します。 Python


階乗ベースで読み取られた2301の小数値は2 × 4! + 3 × 3! + 0 × 2! + 1 × 1! = 67です。

それはこの
入力整数のようなものである必要があります:2301に等しい67
進67の階乗ベース。

プログラミングを始めたばかりなので、解決策を思いつくことができませんでした。私は本当にどんな助けも分かっています。

+5

意味がありません「私はプログラミングを始めて以来、私は、任意の解決策を考え出すことができませんでした」。プログラミングを始めるすべての人がどこかで起動しなければならないし、イントロコースの問題が選択されて解決策を思い付くことができます - しかし、あなたがそれを試して、試してみたり、スタックオーバーフローに何の努力も見せずに投稿する*ではありません。 –

+0

あなたのためにいくつかのコードを書くことが望ましいようです。多くのユーザーは、苦労しているコーダーのコードを作成したいと考えていますが、通常、ポスターが既に問題を解決しようとしているときにのみ役立ちます。この努力を実証する良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、予想される出力、実際に得られる出力(コンソール出力、トレースバックなど)を含めることです。あなたが提供する詳細があれば、受け取る可能性のある回答が増えます。 [FAQ]と[ask]を確認してください。 –

+0

私は同意する、これはむしろ宿題のように見える。 –

答えて

1

ない私は本当に質問に答える必要があるかどうかわから...

import math 

num = 2301 
fact_base = sum([int(str(num)[pos]) * math.factorial(len(str(num)) - pos) for pos in range(len(str(num)))]) 
print(fact_base) 
+0

このような答えは、OPを理解することはほとんどないので、実際にOPを助けるものではありません。一方、彼らが宿題としてそれを入れようとすると、教授はそれを書かなかったことをほぼ確実に知っているでしょう。このようなものを掲示することは盗作につながる可能性は低いので、それは無害であり、基本的な問題に対する良いPythonのアプローチを理解したい人。 –

+0

ちょうど始まったばかりの学生がこれを手渡した場合、彼らは不正行為をする可能性があります(技術的には誰かの仕事を使用しています)。 –