[Codility] 5. CountDiv
2476 ワード
[Codility] 5. CountDiv
質問リンク
CountDiv
問題の概要
差分問題.
与えられた範囲A~B(A<=B)の間の値をKで割ったときに残り0となる数の個数を求める.
要求
A and B are integers within the range [0..2,000,000,000]
K is an integer within the range [1..2,000,000,000]
A ≤ B
コード#コード#
範囲が広いのでfor-loopはすべてmeda!!!!
車の集合の概念を持って行きましょう.
よく考えてみろA...
例えば範囲が6~10 Kで2の場合….
A集合は2,4,6の3個である.
B集合は2,4,6,8105個である.
ここで,各集合の終了値と初期値の部分はAである.
AをKで割って落下->(A<=B)し、もちろんBにも含めて->交差に追加!
したがって,交差部分にAが含まれているかどうかで個数を決める!!public func solution(_ A : Int, _ B : Int, _ K : Int) -> Int {
var addedNum: Int = 0
addedNum = A%K == 0 ? 1 : 0
return (B/K + addedNum) - A/K
}
Reference
この問題について([Codility] 5. CountDiv), 我々は、より多くの情報をここで見つけました
https://velog.io/@iseeu95/Codility-5.-CountDiv
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
public func solution(_ A : Int, _ B : Int, _ K : Int) -> Int {
var addedNum: Int = 0
addedNum = A%K == 0 ? 1 : 0
return (B/K + addedNum) - A/K
}
Reference
この問題について([Codility] 5. CountDiv), 我々は、より多くの情報をここで見つけました https://velog.io/@iseeu95/Codility-5.-CountDivテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol