Forum dédié aux énigmes et à toutes formes de jeux de logique. | Déconnexion |
Tu n'es pas identifié sur Prise2tete : s'identifier. |
#1 - 17-04-2024 20:36:37
Preuve d'algoritthmeUne petite énigme qui est bien mathématique, quoi qu'on en pense. Code:int countOnes(unsigned long number) { number = number - ((number>>1) & 0x7777777777777777) - ((number>>2) & 0x3333333333333333) - ((number>>3) & 0x1111111111111111); return (((number + (number >> 4)) & 0x0F0F0F0F0F0F0F0F) * 0x0101010101010101 ) >> 56; } Votre tache : démontrer que cette fonction renvoie bien ce qu'elle est supposée faire.
#0 Pub#2 - 18-04-2024 02:19:55
preuve d'algirithmeGrille de lecture pour les non-initiés : #3 - 19-04-2024 13:51:49
Preuve d'aglorithmeBonjour Scarta #4 - 19-04-2024 14:14:58
Preuve d'algorithemAvec un compilateur sur le web Code:/*********************** Online C Compiler. **********************/ #include <stdio.h> int countOnes(unsigned long number) { number = number - ((number>>1) & 0x77) - ((number>>2) & 0x33) - ((number>>3) & 0x11); return (((number + (number >> 4)) & 0x0F) * 0x01 ) ; } int main() { int nb =254; printf("%d %d",nb,countOnes(nb)); return 0; } #5 - 20-04-2024 10:38:17
Preuve d'algorithemLe premier calcul #6 - 22-04-2024 00:47:37
preuve d'algorithleC’est exactement ça ! #7 - 22-04-2024 00:55:00
preuve d'alforithmeJ’ai essayé d’autres variantes : 21 paquets de 3 qui donnent 10 de paquets de 6 et on prend les 4 premiers bits à part, celle mentionnée ci dessus, paquets de 8 directement, … Réponse rapideSujets similaires
|
||||||||||||||||||||||||||||||||
Prise2Tete Forum Statistiques Liste des membres Hall of Fame Contact |