ZADATAK 6: "OPERACIJE PO MODULU" - REŠENJE
#include <stdio.h>
using namespace std;
int main()
{
long long pro,ab,cd; //zauzima 64 bita memorije
int a,b,c,d,zbir,p3,z3;
scanf("%d%d%d%d",&a,&b,&c,&d);
zbir=a+b+c+d;
ab=a*b; //množi dva po dva da bi podatak mogao da stane kao int tj. u //32bita
cd=c*d;
pro=ab*cd;
z3=zbir%1000; //Ostatak deljenja sa 1000 su zapravo 3 poslednje cifre
p3=pro%1000;
printf("%d %d",z3,p3);
return 0;
}
using namespace std;
int main()
{
long long pro,ab,cd; //zauzima 64 bita memorije
int a,b,c,d,zbir,p3,z3;
scanf("%d%d%d%d",&a,&b,&c,&d);
zbir=a+b+c+d;
ab=a*b; //množi dva po dva da bi podatak mogao da stane kao int tj. u //32bita
cd=c*d;
pro=ab*cd;
z3=zbir%1000; //Ostatak deljenja sa 1000 su zapravo 3 poslednje cifre
p3=pro%1000;
printf("%d %d",z3,p3);
return 0;
}
Objašnjenje
Brojevi <999 mogu da se deklarisu kao int, jer nisu mnogo veliki, medjutim proizvod 4 takva broja je
broj koji je veci od 2^32(2,147,483,647) sto je maksimalna vrednost koju bi mogao da prihvati long podatak.
Zbog toga se proizvod mora deklarisati kao long long i on moze da prihvati broj<2^64
broj koji je veci od 2^32(2,147,483,647) sto je maksimalna vrednost koju bi mogao da prihvati long podatak.
Zbog toga se proizvod mora deklarisati kao long long i on moze da prihvati broj<2^64