三つの手段と大きな基地
2251 ワード
週間チャレンジ157
私は、3週中断の後、帰ります!
Challenge , My solution
タスク1 - 1ピタゴラス
タスク
整数を指定します.
すべてを計算するスクリプトを書くPythagorean Means 整数の与えられたセットのI算術平均、幾何平均と調和平均.
マイソリューション
これは比較的まっすぐ進むタスクです.Wikipediaページは必要な数式を提供します
sum
reduce
and lambda
必要な数値を計算する機能.最後にround
関数を結果を小数点以下の位置に出力します.PerlコードはPythonのバージョンと似ていますが、list ::utilsでproducts ()メソッドを使用しています.Pythonの数学.製品はPython 3.8 +
一つの注意点は、整数の和が0の場合、高調波平均を計算するときにゼロ誤差による除算が発生する場合があります.私はこれをキャッチしていないし、ユーザーにエラーを渡すことができます.
例
$ ./ch-1.py 1 3 5 6 9
AM = 4.8, GM = 3.8, HM = 2.8
$ ./ch-1.py 2 4 6 8 10
AM = 6.0, GM = 5.2, HM = 4.4
$ ./ch-1.py 1 2 3 4 5
AM = 3.0, GM = 2.6, HM = 2.2
タスク1号2番ブラジル数字
タスク
あなたは数を与えられます
$n
> 3 .指定された数がブラジルの数であるかどうかを調べるためにスクリプトを書く.正整数数
N
少なくとも1つの自然数B
どこ1 < B < N-1
where the representation of N
イン・ベースB
同じ数字です.マイソリューション
これは面白い仕事だった.文字と数字を使用するだけで、異なるベースに番号を変換することはできません.例1282は、ベース640の22ですが、どのように639を同じベースで表現するのでしょうか?
このタスクでは、数字自体が異なる数字を持っていても、同じ数字を持つ値を考えました.例えば、925はベース36の(25)(25)として表現される.
このタスクのガット数を変換することです
n
ベース10で指定されたベースにb
. この関数はsame_digits
. の剰余(剰余)を取るn
and b
そして、この値d
. 次に、整数除算を行い、n % b
is d
. 返しますFalse
桁が同じでないならばTrue
彼ら全員がそうであるならば.それから、それはちょうど2から5までループを持つことの問題です
n - 2
, を呼び出すとsame_digits
各基地のための機能.マッチがあれば、私は印刷します1
(と基底)0
を返します.PerlコードはPythonコードの字訳です.
例
$ ./ch-2.py 6
0
$ ./ch-2.py 7
1 (base 2)
$ ./ch-2.py 8
1 (base 3)
Reference
この問題について(三つの手段と大きな基地), 我々は、より多くの情報をここで見つけました https://dev.to/simongreennet/three-means-and-big-bases-3o2fテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol