Cod sursa(job #266727)

Utilizator ihladesVictor Nicolae ihlades Data 26 februarie 2009 00:12:02
Problema Cifra Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <iostream>
#include <string.h>
#include <stdlib.h>

int ult_cif (int x) {
  switch (x % 10) {
	case 0: return 0; break;
	case 1: return 1; break;
	case 2: if (x / 10 % 2) return 6; else return 4; break;
	case 3: if (x / 10 % 2) return 3; else return 7; break;
	case 4: return 6;
	case 5: return 5;
	case 6: return 6;
	case 7: if (x / 10 % 2) return 7; else return 3; break;
	case 8: if (x / 10 % 2) return 4; else return 6; break;
	case 9: return 9;

  }
}

int main (int argc, char *argv[]) {
  int i, t = 0, u, n, j;
  char temp[101];
  
  std::ifstream in ("cifra.in"); std::ofstream out ("cifra.out");
  in >> t >> std::ws;

  for (i = 1; i <= t; i++) {
	in.getline (temp, 101); u = 0;
	if (strlen (temp) > 1) n = (temp[strlen (temp) - 2] - '0') * 10 + (temp[strlen (temp) -1] - '0');
	else n = temp[strlen (temp) - 1] - '0';
	for (j = 1; j <= n; j++) {
		u = u + ult_cif (j);
	}
	out << u % 10 << std::endl;
  }

  out.close();

  return 0;
}