Cod sursa(job #351)

Utilizator ZweisteinAdrian VELICU Zweistein Data 11 decembrie 2006 08:06:06
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <stdio.h>
#include <string.h>
int main (void) {
	FILE * fi = fopen("cifra.in","rt");
	FILE * fo = fopen("cifra.out","wt");
//	char c1='0', c2='0', c=' ';
	int u[10][4],i;
	for (i=0; i<=9; i++) {
		u[i][1]=i%10;
		u[i][2]=(i*i)%10;
		u[i][3]=(i*i*i)%10;
		u[i][0]=(i*i*i*i)%10;
	};
	long s[100]={0}, r4=1;
	for (i=1; i<=100; i++) {
		s[i]=(s[i-1]+u[i%10][r4])%10;
		r4=(r4==3?0:r4+1);
	};
	int n;
	int t; char nin[100];
	fscanf(fi,"%d\n",&t);
	for (i=1; i<=t; i++) {
		fscanf(fi,"%s\n",&nin);
		if (nin[1]=='\0') {
			n=nin[0]-'0';
		} else {
			n=(nin[strlen(nin)-2]-'0')*10+(nin[strlen(nin)-1]-'0');
		};
		fprintf(fo,"%d\n",s[n]);
	};
/*	fscanf(fi,"%d\n",&t);
	while (t0<t) {
		n=-1;
		while (n==-1) {
			fscanf(fi,"%c",&c);
			if (c=='\n') {
				n=(c1-'0')*10+(c2-'0');
				break;
			} else {
				c1=c2;
				c2=c;
			};
		};
		fprintf(fo,"%ld\n",s[n]%10);
		c1='0'; c2='0';
		t0++;
	};*/
	fclose(fi); fclose(fo);
	return 0;
};