Desafio de lуgica -
ipsBruno - 31.10.2013
Este desafio й meio complicado, exige bastante raciocнnio lуgico.
pawn Код:
new maximo1 = 15;
new maximo2 = 20;
new intervencao1 = 5;
new intervencao2 = 10;
new resultadofinal = 0;
new falhar = 1;
for(new i = maximo1 ; i != -1 && falhar; i--) {
for(new j; j != maximo2; j++) {
if( intervencao2 == j && intervencao1 == i) { falhar = 0; break; }
resultadofinal += 3;
}
resultadofinal += 4;
}
Tente CONVERTER estes cуdigo para que vocк arrume o resultadofinal SEM USAR loops
Eu tentei em outro projeto e consegui uma soluзгo provissуria, mas falhou em alguns falores. Precisa testar bem como funciona.
Consegue?
Re: Desafio de lуgica -
Juniiro3 - 31.10.2013
Nгo sei usar goto muito bem, mas acho que assim funciona:
pawn Код:
new maximo1 = 15;
new maximo2 = 20;
new intervencao1 = 5;
new intervencao2 = 10;
new resultadofinal = 0;
new falhar = 1;
new i;
Ponto1:
if (i != maximo1 && i != falhar)
{
++ i;
Ponto2:
if ( j != maximo2)
{
++ j;
if( intervencao2 == j && intervencao1 == i)
{
falhar = 0;
break;
}
resultadofinal += 3;
goto Ponto2;
}
resultadofinal += 4;
goto Ponto1;
}
Re: Desafio de lуgica -
Kuddy - 31.10.2013
Quote:
Originally Posted by Juniiro3
Nгo sei usar goto muito bem, mas acho que assim funciona:
|
goto й uma forma de loop, afinal ele continua girando pelo cуdigo (fazendo loop).
Re: Desafio de lуgica -
Juniiro3 - 31.10.2013
Quote:
Originally Posted by Kuddy
goto й uma forma de loop, afinal ele continua girando pelo cуdigo (fazendo loop).
|
ah '-' Achei que loop fosse sу
while e
for
Respuesta: Desafio de lуgica -
ipsBruno - 31.10.2013
Do, while, for, goto, #emit JUMP, funзхes recursivas. Й tudo mйtodo laзos de circuito (loops)
Falo de calculo mesmo. Multiplicaзгo, divisгo. Mais, menos, etc
Re: Desafio de lуgica -
DanDRT - 31.10.2013
pawn Код:
main()
{
new maximo1 = 15;
new maximo2 = 20;
new intervencao1 = 5;
new intervencao2 = 10;
new resultadofinal = 0;
new falhar = 1;
resultadofinal += 4*maximo2-9;
if( !(intervencao2 == intervencao2 ) && !(intervencao1 == intervencao1) && falhar)
falhar = 0;
else
resultadofinal += 3*14*maximo1-61;
printf("%d", resultadofinal);
}
Respuesta: Desafio de lуgica -
ipsBruno - 31.10.2013
Errado Dan. Vocк nгo tem que se basear apenas nos valores atuais, mas sim nos VALORES das Variбveis, porque se mudar elas, todo seu calculo vai por бgua abaixo.
Re: Desafio de lуgica -
WLSF - 31.10.2013
PARABЙNS, PRA VOCК.... NESSA DATA.... BLA BLA....
Com quem serб... com quem serб... bla bla
<18 aninhos.3
(toda aquela frescura)
@topic
Na verdade recursividade nгo й considerado uma forma de funзгo iterativa 'com loops', hehe vocк devia especificar no cabeзalho que nгo pode usar recursividade.
Vou tentar fazer.
Re: Desafio de lуgica -
DanDRT - 31.10.2013
@Will
me act skype, o meu pc bugou deletou alguns contatos(eu acho) :$
pawn Код:
main()
{
new maximo1 = 15;
new maximo2 = 20;
new intervencao1 = 5;
new intervencao2 = 10;
new resultadofinal = 0;
new falhar = 1;
resultadofinal = (((3 * maximo2-intervencao2)+(4 * maximo1-intervencao1)))*6+intervencao2, falhar = 0;
falhar = falhar ? 1 : 0;
printf("Resultado: %d, Falhas: %d", resultadofinal, falhar);
}
Respuesta: Re: Desafio de lуgica -
ipsBruno - 31.10.2013
Quote:
Originally Posted by Willian_Luigi
PARABЙNS, PRA VOCК.... NESSA DATA.... BLA BLA....
Com quem serб... com quem serб... bla bla
<18 aninhos.3
(toda aquela frescura)
@topic
Na verdade recursividade nгo й considerado uma forma de funзгo iterativa 'com loops', hehe vocк devia especificar no cabeзalho que nгo pode usar recursividade.
Vou tentar fazer.
|
Valeu Will
Sim, й verdade. Tambйm nгo pode usar recursividade. Sу cбlculos
Dan! Continua errado. Testa melhor isto, a principal tб retornando 670 +- a tua 640. E com outras variбveis retorna valores mais errados ainda