Cod sursa(job #329686)

Utilizator points_hunterAdrian Dobrescu points_hunter Data 7 iulie 2009 09:25:31
Problema Cifra Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 1.33 kb
#include<stdio.h>

int main(){
  int n,i,j,uc=0,x;
  int *a=(int *)calloc(100,sizeof(int));
  char *s=(char *)malloc(101*sizeof(char));
  freopen("cifra.in","r",stdin);
  freopen("cifra.out","w",stdout);
  scanf("%d",&n);
  for(j=1;j<100;j++){
    uc=0;
    for(i=1;i<=j;i++){
      if(i%10==0)
        x=0;
      else
        if(i%10==1)
	      x=1;
        else
	      if(i%10==2){
	        int a[]={6,2,4,8};
	        x=a[i%4];
	      }
	      else
	         if(i%10==3){
	           int a[4]={1,3,9,7};
	           x=a[i%4];
	          }
	         else
	           if(i%10==4){
	             int a[]={6,4};
	             x=a[i%2];
	           }
	           else
	             if(i%10==5)
		           x=5;
	             else
		           if(i%10==6)
		             x=6;
		           else
		             if(i%10==7){
		               int a[]={1,7,9,3};
		               x=a[i%4];
		             }
		             else
		               if(i%10==8){
		                 int a[]={6,8,4,2};
		                 x=a[i%4];
		               }
		               else{
		                 int a[]={1,9};
		                 x=a[i%2];
                       }
      uc+=x;
      uc%=10;
    }
    a[j]=uc;
  }
  for(i=1;i<=n;i++){
    scanf("%s",s);
    int nr=s[strlen(s)-1]-'0';
    if(strlen(s)>1)
      nr+=10*s[strlen(s)-2]-'0';
    printf("%d\n",a[nr]);
  }
  return 0;
}