Pagini recente » Cod sursa (job #674579) | Cod sursa (job #3129372) | Cod sursa (job #1052784) | Cod sursa (job #1093749) | Cod sursa (job #463656)
Cod sursa(job #463656)
#include<fstream>
using namespace std;
ifstream f("cifra.in");ofstream g("cifra.out");
char s[101];
int uc(int i,int j)//ultima cifra a numarului i^j
{
if(i==0 || i==1 || i==5 || i==6)return i;
if(i==2)
switch(j%4){
case 1:return 2;
case 2:return 4;
case 3:return 8;
case 0:return 6;
}
if(i==3)
switch(j%4){
case 1:return 3;
case 2:return 9;
case 3:return 7;
case 0:return 1;
}
if(i==4)
switch(j%2){
case 1:return 4;
case 0:return 6;
}
if(i==7)
switch(j%4){
case 1:return 7;
case 2:return 9;
case 3:return 3;
case 0:return 1;
}
if(i==8)
switch(j%4){
case 1:return 8;
case 2:return 4;
case 3:return 2;
case 0:return 6;
}
if(i==9)
switch(j%2){
case 1:return 9;
case 0:return 1;
}
return -1;//cod de eroare
}
int main()
{
f.getline(s,101);//sar peste T
int i,suma,k,j;
while(f.getline(s,101))
{
suma=0;
k=i=s[strlen(s)-1]-'0';
if(strlen(s)>1)k=k+(s[strlen(s)-2]-'0')*10;
for(j=1;j<=i;j++)suma=(suma+uc(j,k))%10;
g<<suma<<'\n';
}
f.close();g.close();
return 0;
}