Cod sursa(job #1016328)

Utilizator Raducu1992Raducu Raducu1992 Data 26 octombrie 2013 02:38:38
Problema Cifre Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>
#include <stdlib.h>
int cap_stanga,cap_dreapta,k,c,rez=0;
int* Date()
{
    FILE *f = fopen("cifre.in","r");
    fscanf(f,"%d %d %d %d",&cap_stanga,&cap_dreapta,&k,&c);
    fclose(f);
    int i,k=0,*v;
    v = (int*)malloc((cap_dreapta-cap_stanga+1)*sizeof(int));
    for(i = cap_stanga; i <= cap_dreapta; i++)
    {
        v[k++] = i;
    }
    return v;
}
int Alg(int n,int d)
{
    if(n == 0)
        return d;
    if(n < 10 && n == c)
        return d+1;
    if(n%10 == c)
    {
        d++;
    }
        return Alg(n/10,d);
}
void Scriere()
{
    FILE *f = fopen("cifre.out","w");
    fprintf(f,"%.4f",(float)rez/cap_dreapta);
    fclose(f);
}
int main()
{
    int *v,i;
    v = Date();
    for(i = 0; i < cap_dreapta-cap_stanga+1; ++i)
    {
        if( Alg(v[i],0) >= k )
           rez++;
    }
    // printf("%.4f",(float)rez/cap_dreapta);
    Scriere();
 return 0;
}