TOPIC

Questão com problema em C/C++ (wrong 90%/95%)

Yan Lucas asked 1 year ago

Existe algum erro nessa questão envolvendo o compilador de C, por isso o baixo número de resoluções, mesmo sendo uma questão nv 1. Primeiramente eu consegui acertar 90% e não consegui achar nenhum motivo de erro. Então fiz todos os calculos na mão e na calculadora do windows para ver os resultados dentro de cada repetição. Notei que com 3 repetições o compilador arrendonda o decimo digito para cima, quando deveria ser para baixo então fiz uma gambiarra para caso as repetições forem 3 o compilador remover 0,00000000001 do valor, para força-lo a arredondar para baixo na hora de dar o printf. Com isso eu consegui chegar em 95% de acertos. No entanto continuei tentando e verificando digito a digito, mas não consegui passar disso. Devido a gambiarra que tive que fazer com 3 repetições, creio que a questão esteja com algum problema em C, por favor verifiquem.

Outra coisa estranha é que se eu tirar aquele "3" do printf e fazer essa soma depois do fim do laço, meu código retorna com 80% de acertos, sendo que o resultado é o mesmo.

#include <stdio.h>

int main(){

double NA;
int q;
scanf("%d",&q);
if(q>=0 && q<=100){
for(int i=1;i<=q;i++){
NA+=6;
NA=(1/NA);
}

if(q==3){
    NA-=0.00000000001;
}
printf("%10.10f\n",3+NA);
}
}

This topic has not been answered yet. Be the first!

Remember not post solutions. Your post may be reviewed by our moderators.