353
Cerința
Se dau n numere naturale distincte. Pentru oricare două numere date, distincte, x şi y, se determină ultima cifră a numărului 333x•y şi se însumează cifrele obţinute. Aflaţi valoarea acestei sume.
Date de intrare
Fișierul de intrare 3lan.in conține pe prima linie numărul n, iar pe a doua linie cele n numere date, despărţite prin spaţii.
Date de ieșire
Fișierul de ieșire 3lan.out va conține pe prima linie suma cerută.
Restricții și precizări
2 ≤ n ≤ 1000- cele
nnumere date sunt cel mult egale cu10.000
Exemplu
3lan.in
2 9 0
3lan.out
7
Explicație
Singura pereche de numere dintre cele date este 9 , 0, iar ultima cifră a numărului 3339•0 este 7.
#include <bits/stdc++.h>
using namespace std;
ifstream cin("3lan.in");
ofstream cout("3lan.out");
int n , a[1001] , s;
int treilan(int x , int y)
{
int rest = (x * y) % 4 , nr1 , nr2;
if(rest == 0) nr1 = 1;
else if(rest == 1) nr1 = 3;
else if(rest == 2) nr1 = 9;
else if(rest == 3) nr1 = 7;
nr1 %= 4;
if(nr1 == 0) nr2 = 1;
else if(nr1 == 1) nr2 = 3;
else if(nr1 == 2) nr2 = 9;
else if(nr1 == 3) nr2 = 7;
nr2 %= 4;
if(nr2 == 0) return 1;
else if(nr2 == 1) return 3;
else if(nr2 == 2) return 9;
else if(nr2 == 3) return 7;
}
int main()
{
cin >> n;
for(int i = 1 ; i <= n ; i++)
cin >> a[i];
for(int i = 1 ; i <= n ; i++)
for(int j = i + 1 ; j <= n ; j++)
s += treilan(i , j);
cout << s;
return 0;
}
Comentarii