Cod sursa(job #681567)

Utilizator djgaby128Suciu Remus Gabriel djgaby128 Data 17 februarie 2012 14:06:10
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <math.h>
using namespace std;

char s[2];
int c,nr,i,t,a[10],j;

ifstream f;
ofstream g;

int main()
{

	f.open("cifra.in");
	g.open("cifra.out");
    f>>s;

    nr=0;

    for(i=0;i<=strlen(s)-1;i++)
    {
        if(isdigit(s[i]))
            c=int(s[i])-int('0');
    cout<<s[i]<<" ";

    nr=nr*10+c;
    }

    t=nr;

    for(j=1;j<=t;j++)
    {
		//f>>a[j];
        f>>s;
        nr=0;

        for(i=0;i<=strlen(s)-1;i++)
        {
            if(isdigit(s[i]))
                c=int(s[i])-int('0');
        //cout<<s[i]<<" ";
        //cout<<c<<" ";
        nr=nr*10+c;
        }
        a[j]=nr;
        cout<<a[j]<<" ";
    }
    int suma=0;
	int x;
    for(i=1;i<=t;i++)
    {
		suma=0;
        for(x=1;x<=a[i];x++)
        {

		if((x%10==0)||(x%10==1)||(x%10==5)||(x%10==6)||(x%10==9))
			suma=suma+x%10;
		else
			if((x%10==2)||(x%10==3)||(x%10==7)||(x%10==8))
		{
			if(x%4==0)
			{
				suma=suma+(int)pow((double)(x%10),(double)4);
			}
			else
				suma=suma+(int)pow((double)(x%10),(double)(x%4));
		}
		else
			if (x%10==4)
				suma=suma+6;
		}
        g<<suma%10<<endl;
    }



    return 0;
}