Étant donné un entier n, la tâche consiste à imprimer des nombres composés uniquement de 0 et 1, et leur somme est égale à l'entier n.
Les nombres contenant seulement 0 et 1 sont 1, 10, 11, nous devons donc imprimer tous les nombres qui peuvent être ajoutés pour obtenir égal à n.
Par exemple, nous entrons n = 31 alors la réponse peut être 10+10+11 ou 10+10 +10+1
Input: 31 Output:10 10 10 1
int findNumbers(int n) START STEP 1: DECLARE AND ASSIGN VARAIBALES m = n % 10, a = n STEP 2: LOOP WHILE a>0 IF a/10 > 0 && a > 20 THEN, SUBTARCT 10 FROM a AND STORE BACK IT IN a PRINT "10 " ELSE IF a-11 == 0 THEN, SUBTRACT 11 FROM a AND STORE BACK IN a PRINT "11 " ELSE PRINT "1 " DECREMENT a BY 1 END IF END LOOP STOP
#include <stdio.h> // Function to count the numbers int findNumbers(int n){ int m = n % 10, a = n; while(a>0){ if( a/10 > 0 && a > 20 ){ a = a-10; printf("10 "); } else if(a-11 == 0 ){ a = a-11; printf("11 "); } else{ printf("1 "); a--; } } } // Driver code int main(){ int N = 35; findNumbers(N); return 0; }
Si nous exécutons le programme ci-dessus , qui générera le résultat suivant :
10 10 1 1 1 1 11
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!