Cod sursa(job #11235)

Utilizator anamaria1Ozorchevici Ana Maria anamaria1 Data 30 ianuarie 2007 22:11:43
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.42 kb
#pragma option -3 -r -Z -O2 -a
#include<fstream.h>
#include<string.h>
int main()
{ifstream f("cifra.in");
ofstream g("cifra.out");
int i,n,cif,r,j,t,u=0,l;
char s[101];
f>>t;f.get();
for(j=1;j<=t;j++)
   {f.getline(s,100,'\n');
    l=strlen(s);
    if(l==1) n=s[0]-'0';
      else n=(s[l]-'0')+(s[l-1]-'0');
    u=0;
    for(i=1;i<=n;i++)
      {cif=i%10;
       switch(cif)
	{case 1:{u=u+1;break;}
	 case 2:{r=i%4;switch(r)
			 {case 0:{u=u+6;break;}
			  case 1:{u=u+2;break;}
			  case 2:{u=u+4;break;}
			  case 3:{u=u+8;break;}
			 }
		 break;
		}
	 case 3:{r=i%4;switch(r)
		       {case 0:{u=u+1;break;}
			case 1:{u=u+3;break;}
			case 2:{u=u+9;break;}
			case 3:{u=u+7;break;}
		       }
		 break;
		}
	 case 4:{r=i%2;switch(r)
		      {case 0:{u=u+6;break;}
		       case 1:{u=u+4;break;}
		      }
		 break;
		}
	 case 5:{u=u+5;break;}
	 case 6:{u=u+6;break;}
	 case 7:{r=i%4;switch(r)
		       {case 0:{u=u+1;break;}
			case 1:{u=u+7;break;}
			case 2:{u=u+9;break;}
			case 3:{u=u+3;break;}
		       }
		 break;
		}
	 case 8:{r=i%4;switch(r)
		       {case 0:{u=u+6;break;}
			case 1:{u=u+8;break;}
			case 2:{u=u+4;break;}
			case 3:{u=u+2;break;}
		       }
		 break;
		}
	 case 9:{r=i%2;switch(r)
		      {case 0:{u=u+1;break;}
		       case 1:{u=u+9;break;}
		      }
		 break;
		}
	}
       u=u%10;
      }
    g<<u<<'\n';
   }
f.close();
g.close();
return 0;
}