給定一個數Ñ和一些間隔(L: - [R),我怎樣才能計數該時間間隔內的Ñ倍數? (R-L + 1)/ n,它不會給我正確的答案,例如,在3和5之內,有4的倍數,但是(5-3 + 1)/4 = 0,在4和8之間,有4的2倍數,但是(8-4 + 1)/ 4 = 1.倍數內間隔
我試過這個,但是它也不會工作(失敗div(4, 4,13)= 2)
int div(int n, int l, int r){
let mod = n - l % n;
let first = mod == n? l : l + mod;
return first > r? 0 : (r-first+1)/n + 1;
}
的一點是:我不想籤一千東西,我想有一些快速的方法來做到這一點。
L,n,R非負數? –
假設L> = 0 - 這很直觀 – xenteros
問題是L和R之間有多少n的倍數,不是正整數 – Daniel