#include float V; // V= aposta R$ char N[7], M[7]; // N = numero jogado; M = numero sorteado int entrada(); void resultado(); int main(){ while(entrada()){ char *pt_N, *pt_M, *pt_NE, *pt_ME; unsigned int i, match; pt_N = N; pt_M = M; // Ponteiros para o fim do conteúdo das strings (NULL) for (pt_NE = N; *pt_NE!=NULL; pt_NE++); for (pt_ME = M; *pt_ME!=NULL; pt_ME++); // Se tiver menos de 4 caracteres, complemente com zero //... em progresso // Encontra algarismos iguais nos 4 ultimos. match = 0; for(i=1;i<5;i++){ if (*(pt_NE-i) == *(pt_ME-i)) match++; else break; } if (match == 2) resultado(50); else if (match == 3) resultado(500); else if (match == 4) resultado(3000); else { // procuramos o bicho unsigned int i_N, i_M; // Transformamos os dois ultimos algarismos em um inteiro for (; (pt_NE-2) > pt_N; pt_N++) *pt_N = '0'; for (; (pt_ME-2) > pt_M; pt_M++) *pt_M = '0'; // Só restarão os dois ultimos algarismos != 0 // Agora, dividimos por 4 e somamos 1 se houver resto. i_N = atoi(N)/4; i_M = atoi(M)/4; if (i_N%4) i_N++; if (i_M%4) i_M++; // Pronto, podemos comparar if (i_N == i_M) resultado(16); // bicho else resultado(0); // nada } // Proximo... } } int entrada(){ // retorna zero se entrada for 0 0 0 // Entrada: // Final da entrada: 0 0 0 scanf("%f %s %s", &V, N, M); if ((V==0)&&(atoi(N)==0)&&(atoi(M)==0)) return 0; return 1; } void resultado(int fator) { printf("%.2f\n", fator*V); }