Nu aveti permisiuni pentru a descarca fisierul grader_test2.in
Cod sursa(job #1727298)
| Utilizator | Data | 10 iulie 2016 14:43:54 | |
|---|---|---|---|
| Problema | Cifra | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.82 kb |
#include <fstream>
#include <cstring>
using namespace std;
int numar(char *s)
{
int x,lungime = strlen(s);
x = s[lungime-1] - '0';
if (lungime > 1)
x += 10*(s[lungime-2] - '0');
return x;
}
int cifra(int nr1, int nr2)
{
int i,inm = 1;
nr1 %= 10;
nr2 %= 4;
if (nr2 == 0)
nr2 = 4;
for(i = 1; i <= nr2; i++)
inm *= nr1;
return inm%10;
}
int rezultat(int nr)
{
int i,suma = 0;
for(i = 1; i <= nr; i++)
suma += cifra(i,i);
return suma%10;
}
int main()
{
int t,i,nr;
char s[101];
ifstream f("cifra.in");
ofstream g("cifra.out");
f>>t;
for(i = 1; i <= t; i++)
{
f>>s;
nr = numar(s);
g<<rezultat(nr)<<endl;
}
f.close();
g.close();
return 0;
}
