You are on page 1of 1

PROGRAMSKI JEZIK C- 1. KOLOKVIJ 6.7.

2020

1) (10 bodova) Uz skiciranje stanja i promjene varijabli, odredite što ispisuju sljedeći programi:

a) (5 bodova) b) (5 bodova)
void foo(int a, int *b) {
int main(void) { ++a;
*b = *b > 0 ? -(*b / 2) : *b + 5;
short a, b; }

for (a = -3, b = 24; a <= 3 && b > 0; ++a, b /= 2) int main() {


if (a % b)
printf("%hd %hd\n", a, b); int i, j;
i = j = 8;
return 0;
while (j) {
} foo(i, &j);
printf("%d %d\n", i, j);
}
return 0;
}

1. (20 bodova) Izračunati i ispisati na zaslon prvi prirodni broj koji je djeljiv sa barem 15 neparnih brojeva.

3. (35 bodova) Za prirodni broj n, definiramo funkciju s(n) kao sumu svih djelitelja od n, osim njega
samog. Tako je s(1)=0. Kažemo da je prirodni broj n manjkav ako je s(n) < n, savršen ako je s(n) = n, a
obilan ako je s(n) > n. Napišite program koji učitava prirodni broj n i ispisuje broj manjkavih, broj
savršenih i broj obilnih brojeva manjih ili jednakih n.
Primjer: broj 8 je manjkav jer je s(8) = 1+2+4= 7 <8, broj 6 je savršen jer je s(6) = 1+2+3 =6, a broj 12 je
obilan jer je s(12)= 1+2+3+4+6 = 16 >12.

4. (35 bodova) Napisati funkciju koja za proslijeđeni niz prirodnih brojeva vraća broj koji nastaje
spajanjem dekadske znamenke koja se u tim brojevima najviše puta pojavljivala i dekadske znamenke
koja se najmanje puta pojavljivala. U slučaju jednakog broja pojavljivanja treba odabrati najveću
znamenku. Primjerice, ako je niz imao članove: 12, 15, 56, 1827, 35, 804, 99, 93, 12 onda je broj
pojavljivanja pojedinih znamenki slijedeći:
znamenka 0 1 2 3 4 5 6 7 8 9
pojavljivanja 1 4 3 2 1 3 1 1 2 3

pa program treba ispisati 17.

You might also like