Cod sursa(job #503907)

Utilizator demolatorIonascu Razvan Sorinel demolator Data 25 noiembrie 2010 17:16:15
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.3 kb
#include<fstream.h>
#include<string.h>
#include<stdlib.h>
ifstream f("cifra.in");
ofstream g("cifra.out");
int s,cif[110];
char x[16];
long long int n,i,t;

int main(){
       for(i=0;i<=100;i++){ s=0; n=i;
		while(n){ if(n%10==1)
		 s++;

	    if(n%10==2)
	      { if(n%4==0)
		 s=s+6;
		else
		 if(n%4==1)
		   s=s+2;
		   else
		     if(n%4==2)
			s=s+4;
		       if(n%4==3)
			 s=s+8;}
	    if(n%10==3)
	      {if(n%4==0)
		s++;
		else
		  if(n%4==1)
		    s=s+3;
		    else
		      if(n%4==2)
			s=s+9;
			else
			   if(n%4==3)
			     s=s+7;}
	    if(n%10==4)
	      { if(n%2==0)
		 s=s+6;
		 else
		  s=s+4; }
	     if(n%10==5)
		s=s+5;
	     if(n%10==6)
	       s=s+6;

	     if(n%10==7)
	       {if(n%4==0)
		 s++;
		else
		if(n%4==1)
		  s=s+7;
		  else
		    if(n%4==2)
		      s=s+9;
		      else
			if(n%4==3)
			  s=s+3;    }

	      if(n%10==8)
		{if(n%4==0)
		  s=s+6;
		 else
		   if(n%4==1)
		     s=s+8;
		     else
		       if(n%4==2)
			 s=s+4;
			 else
			   if(n%4==3)
			     s=s+2;  }

		if(n%10==9)
		 { if(n%2==0)
		   s++;
		   else
		    s=s+9;  }
		if(s>=10)
		 s=s%10;
		 n--;   } cif[i]=s;}
f>>t; f.get();
for(i=1;i<=t;i++)
{f.getline(x,16); n=atoi(x);
 g<<cif[n%100]<<'\n';}

      f.close(); g.close(); return 0;}