Cod sursa(job #533394)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 13 februarie 2011 21:01:23
Problema Prod Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>

int a[2],b[1001],c[1002],v[10],t,i,j,s;

int main()
{
    freopen("prod.in","r",stdin);
    freopen("prod.out","w",stdout);
    for (i=1;i<=9;++i)
    {
        scanf("%d",&v[i]);
        s+=v[i];
    }
    j=9;
    while (!v[j]) --j;
    a[1]=j;--v[j];a[0]=1;b[0]=s-1;i=s-1;
    while (i>0)
    {
        j=9;
        while (!v[j]) --j;
        b[i]=j;--v[j];--i;
    }
    for (i=1;i<=a[0];i++)
    {
        for (t=0,j=1;j<=b[0]||t;j++,t/=10)
            c[i+j-1]=(t+=c[i+j-1]+a[i]*b[j])%10;
        if (i+j-2>c[0]) c[0]=i+j-2;
    }
    for (i=c[0];i>0;--i) printf("%d",c[i]);
    return 0;
}