2017-05-12 11 views
1

私はPythonからGolangに移行しようとしています。私は現在、いくつかの数学演算を研究しており、分裂の結果として商と剰余の両方の価値を得る方法について疑問を呈しています。 Pythonコードと同等のものを以下で共有します。商と余りを返す除算

hours, remainder = divmod(5566, 3600) 
minutes, seconds = divmod(remainder, 60) 
print('%s:%s' % (minutes, seconds)) 
# 32:46 

上記は私の目指すものです。ありがとう。

答えて

9

整数除算と係数がこれを実現します。

func divmod(numerator, denominator int64) (quotient, remainder int64) { 
    quotient = numerator/denominator // integer division, decimals are truncated 
    remainder = numerator % denominator 
    return 
} 

https://play.golang.org/p/rimqraYE2B

編集:定義

は、整数除算の文脈において、全体回分子の数が分母に進みます。言い換えれば、それは小数点以下の文と同じです:FLOOR(n/d)

モデューロはあなたに、このような割り算の余りを与えます。分子と分母の係数は常に0とd-1の間にあります(ここでdは分母です)

+0

解決策ははっきりしています。 Pythonのような組み込み関数を持たないことは私には苦労しました。 – vildhjarta

関連する問題