#include <stdio.h>
#include <stdlib.h>
int main (int argc, char ** argv) {
if (argc != 1+2) {
fprintf(stderr, "uporaba: %s <max> <delitelj>\nprimer, ki sešteje vsa liha fibonačijeva števila do 2M: %s 2000000 -2\nče je deljenec negativen, se seštejejo števila, ki NISO deljiva z deliteljem\n", argv[0], argv[0]);
return 1;
}
unsigned long int s = strtoll(argv[1], NULL, 10); // makSimalno
unsigned long int d = strtoll(argv[2], NULL, 10); // Delitelj
unsigned short int o = (llabs(d) == d);
d = llabs(d);
unsigned long int i = 1;
unsigned long int j = 2;
unsigned long int c = 0; // Carry
unsigned long int e = 0; // sEštevek
while (i <= s) {
fprintf(stderr, "i = %ld, seštevek = %ld\n", i, e);
if (o) {
if (i % d == 0) {
e = e + i;
}
} else {
if (i % d != 0) {
e = e + i;
}
}
c = i + j;
i = j;
j = c;
}
fprintf(stdout, "\rseštevek števil do %ld, ki z %ld %s deljiva: %ld\n", s, d, o ? "so" : "niso", e);
return 0;
}