Cod sursa(job #1282271)
| Utilizator | Data | 4 decembrie 2014 00:35:26 | |
|---|---|---|---|
| Problema | Cifra | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream>
#include <iostream>
typedef unsigned long long int Nr;
short ptrn[10]={0,1,4,4,1,1,4,4,2};
inline short simp(Nr k){
return k%ptrn[k%10];
}
inline short last(Nr k){
Nr p=simp(k);
short d=k%10;
short c=1;
while(p){
c=c*d%10;
p--;
}
return c;
}
int main(){
Nr n;
short c=0;
int t;
std::ifstream f("cifra.in");
std::ofstream g("cifra.out");
f>>n;
for(Nr i=1;i<=n;i++) c=(c+last(i))%10;
g<<c<<'\n';
std::cout<<c<<'\n';
g.close();f.close();return 0;
}
