Cod sursa(job #780669)

Utilizator slyfer12Damian Alexandru slyfer12 Data 20 august 2012 23:14:48
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
int pattern1[9]={1,4,7,6,5,6,3,9},pattern2[10]={7,4,1,8,5,2,9,6,3,0};
using namespace std;
int suma(int x){
 int i,s=0;
   for(i=0;i<x;i++){
  s+=pattern1[i];
  s%=10;
   }
   return s;
}
int period(int x,int y){
  if(y%10==9)
  return pattern2[x];
  else
    return pattern2[x-1];
}
int main()
{
    int t,i,k;string n;
       ifstream f("cifra.in");
       ofstream g("cifra.out");
       f>>t;
      for(i=1;i<=t;i++){
        f>>n;
        k=n.size();
        if(k==1)
        g<<suma(n[k-1]-'0')<<"\n";
        else{
         int q=(period(n[k-2]-'0',n[k-1]-'0'));
         int z=((n[k-2]-'0'-1)*10+9);
        g<<(q+suma(q-z-1))%10<<"\n";
      }}
      f.close();
      g.close();
    return 0;
}