Cod sursa(job #653892)

Utilizator adighAdrian Gheorghe adigh Data 29 decembrie 2011 11:11:03
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.48 kb
#include<stdio.h>
#include<string.h>
#include<iostream>
//#include<fstream>
#include <stdlib.h>
//#include<string>
#include<ctime>
//#include <sstream>


using namespace std;

	int i,t,s,j,nr, cifra_p1[101], cifra_p2[101];
	string snr;
//	stringstream ssnr;
	char cnr[102];

	clock_t start, end;
	
//	ifstream f("cifra.in");
//	ofstream g("cifra.out");    

	
int cifra_put(int num)
{
	int i,cifra;
	while(num>=20)
		num=num-20;
	cifra=1;
	for (i=1;i<=num;i++)
	{
		cifra=(cifra*num)%10;
	}
	if (num==0)
		cifra=0;
	return (cifra);
}

int main()
{
	freopen("cifra.in","r",stdin);
	freopen("cifra.out","w",stdout);
	start = clock();

	for (i=0;i<=100;i++)
	{
		cifra_p2[i]=0;
		for(j=0; j<=i; j++)    
			//s=s+cifra_put(j);
			cifra_p2[i]=cifra_p2[i]+cifra_put(j); 
		cifra_p2[i]=cifra_p2[i]%10;
//		cout<<cifra_p2[i]<<endl;
	}
	
	scanf("%d\n",&t);
//	f>>t;
//	while(t--)
	for(i=1; i<=t; i++)
	{
//		f>>cnr;
		scanf("%s\n",cnr);
		if (strlen(cnr)>1)
			nr=atoi(&cnr[strlen(cnr)-2]);
		else
			nr=atoi(&cnr[strlen(cnr)-1]);
		
	//	cout << nr << endl;
		
		/*
		m=strlen(cnr);
		if(m>1)
			nr=(cnr[m-2]-'0')*10+(cnr[m-1]-'0');
		else
			nr=cnr[m-1]-'0';
		*/
		printf("%d\n",cifra_p2[nr]);
//		printf("%d - %d\n",nr,cifra_p2[nr]);
//		g<<cifra_p2[nr]<<endl;  
	}    
//	f.close();
//	g.close();

	end = clock();
	
	cout << endl << "Timp de executzie: "
	<< (double)(end-start)/CLOCKS_PER_SEC << " seconds." << "\n\n" ;	
	

}