23.03.2017, 18:33
Bom, fiz um cуdigo para gerar cpf vбlido (nгo real e sim vбlido) e gostaria de saber se hб alguma forma para optimizar o mesmo..
OBS: Quem quiser utilizar o script nгo tem problema algum sу peзo os crйditos.
PHP код:
stock GerarCPF()
{
new cpf[100];
new rand[9];
new digito[12];
new calculo[4];
new rand_number[9][1] = { {1},{2},{3},{4},{5},{6},{7},{8},{9} };
for(new i; i < 9; ++i)
{
rand[i] = rand_number[random(sizeof rand_number)][0];
}
digito[1] = rand[0] * 10;
digito[2] = rand[1] * 9;
digito[3] = rand[2] * 8;
digito[4] = rand[3] * 7;
digito[5] = rand[4] * 6;
digito[6] = rand[5] * 5;
digito[7] = rand[6] * 4;
digito[8] = rand[7] * 3;
digito[9] = rand[8] * 2;
calculo[0] = digito[1] + digito[2] + digito[3] + digito[4] + digito[5] + digito[6] + digito[7] + digito[8] + digito[9];
digito[10] = calculo[0] % 11;
calculo[1] = 11 - digito[10];
if(digito[10] < 2)
{
calculo[1] = 0;
}
digito[1] = rand[0] * 11;
digito[2] = rand[1] * 10;
digito[3] = rand[2] * 9;
digito[4] = rand[3] * 8;
digito[5] = rand[4] * 7;
digito[6] = rand[5] * 6;
digito[7] = rand[6] * 5;
digito[8] = rand[7] * 4;
digito[9] = rand[8] * 3;
digito[10] = calculo[1] * 2;
calculo[2] = digito[1] + digito[2] + digito[3] + digito[4] + digito[5] + digito[6] + digito[7] + digito[8] + digito[9] + digito[10];
digito[11] = calculo[2] % 11;
calculo[3] = 11 - digito[11];
if(digito[11] < 2)
{
calculo[3] = 0;
}
format(cpf, 50, "%d %d %d %d %d %d %d %d %d %d %d", rand[0], rand[1], rand[2], rand[3], rand[4], rand[5], rand[6], rand[7], rand[8], calculo[1], calculo[3]);
print(cpf);
return strval(cpf);
}