#include <stdlib.h>#include <stdio.h>#include <string.h>/** fonction sprintf ( destination, format, source) ex: int i = 10; char chaine[256]; sprintf(chaine, "%d", i) (printf("%s",chaine)) fonction strlen (string) ex: char temp[64] = "Salut"; printf ("%s fait %d octets\n", temp, strlen(temp));*/int main(){ int i, id; int number =0, square =0, cube =0; int squareLength =0, cubeLength =0; int test[10][1]; char s[10], c[10], cs[10]; while(number < 48){ square = number * number; cube = number * number * number; /** convertion of the square and the cube */ sprintf(s, "%d", square); sprintf(c, "%d", cube); /** calculating the length of the square and cube */ squareLength = strlen(s); cubeLength = strlen(c); if( (squareLength + cubeLength) == 10){ //printf("potential number : (%d)\n", number); for(i=0; i<10; i++){ cs[i] = 0; } /** On regroupe les deux tableaux c et s */ for(i=0; i<squareLength; i++){ cs[i] = s[i]; } id = 0; printf("s %d --> [%s]\n",number,s); printf("c %d --> [%s]\n",number,c); for(i=squareLength; i<10; i++){ if(id<cubeLength){ if(c[id] != 'EOI'){ cs[i] = c[id]; printf("cs ---> %s (id=%d)\n",cs,id); } } id++; } /** verifier ici qu'il n'y a qu'une seul fois chaque chiffre*/ number ++; }else number ++; } return 0;}