Šablon:Modul po intervalu
Šablon koji dati broj smešta u dati interval, dodavši odnosno oduzevši mu potreban broj dužina intervala. Šablon je predviđen za rad s celim brojevima.
- Prvi parametar predstavlja dati broj
- Drugi i treći parametar predstavljaju donju i gornju granicu intervala. Donja granica ne može biti veća od gornje.
Primeri korišćenja:
Šablon | Rezultat |
{{Modul po intervalu|-1|1|3}} | 2 |
{{Modul po intervalu|0|1|3}} | 3 |
{{Modul po intervalu|1|1|3}} | 1 |
{{Modul po intervalu|2|1|3}} | 2 |
{{Modul po intervalu|3|1|3}} | 3 |
{{Modul po intervalu|4|1|3}} | 1 |
{{Modul po intervalu|5|1|3}} | 2 |
Za one koji žele da se bave optimizacijom, f-ja bi u javi izgledala ovako:
public static int mod(int val, int min, int max) {
int diff = max - min + 1; // veličina intervala
int q = 0; // broj dužina intervala potrebnih da vrednost uđe u interval
if(val > max) {
q = min - val;
} else if(val < min) {
q = max - val;
}
q /= diff; // celobrojno deljenje
return val + q * diff;
}