À quoi sert 1e-12 dans la programmation compétitive?


Meilleure réponse

Les nombres à virgule flottante ne sont pas stockés avec précision dans la mémoire de lordinateur. En effet, tout nombre à virgule flottante est approximé à la représentation binaire la plus proche. Donc, supposons que nous ayons,

float a=0.87;

float b=0.87;

if(a==b){

printf("Equal \n");

} else {

printf("Not equal \n");

}

Chances sont, « Pas égal » sera imprimé. Donc, maintenant nous avons une question. Comment vérifions-nous légalité de 2 nombres à virgule flottante?

Voici où 1e-12 entre en jeu. Une différence de moins de 1e-12 entre 2 nombres à virgule flottante est considéré comme suffisamment faible pour quils soient égaux. Par conséquent, dans la deuxième macro, il vérifie si la valeur absolue de a, est inférieure à 1e-12. Le programme pourrait ressembler à ceci:

float a=0.87;

float b=0.87;

if(zero(a-b)){

printf("Equal \n");

} else {

printf("Not qqual \n");

}

Ceci est garanti pour imprimer « Equal ».

Jespère que aide.

Réponse

Eh bien, sil ne se soucie pas du tout – même assez pour en discuter – votre tâche est impossible.

Sil est prêt à parler mais ne veut pas regarder ou apprendre le code, essayez de jouer à ce jeu avec lui: vous êtes un robot sans autonomie. Son travail est de vous faire vous lever du canapé, daller à la cuisine et de préparer quatre sandwichs au beurre de cacahuète et à la gelée. Il devra le faire en vous donnant des commandes en anglais.

Vous comprenez des actions comme «marcher vers» et «prendre un couteau dans un tiroir», donc il na pas à vous dire comment déplacer chaque muscle, et vous comprenez ce que sont les objets, donc il ne le fait pas doivent définir «couteau». Mais cest la limite de votre compréhension.

Assurez-vous de suivre ses instructions littéralement, et faites-le recommencer, chaque fois que le résultat nest pas quatre sandwichs PB&J.

« Levez-vous et marchez vers la cuisine »

Vous vous levez et marchez vers le mur séparant la cuisine et le salon .

« Arg! Je veux dire, levez-vous et marchez jusquà lentrée de la cuisine. »

Vous le faites.

« Retirez le pain du placard »

Vous avez griffé la porte du placard, incapable den extraire le pain.

« Ouvre la porte! »

Vous ouvrez la porte du four.

« Je veux dire ouvrez la porte du placard! »

Vous le faites.

« Sortez le pain. »

Vous faites tomber le pain du placard et sur le sol de la cuisine …

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *