fork download
  1. #include <stdio.h>
  2. #include <assert.h>
  3. #include <math.h>
  4.  
  5. int alloca(int N) {
  6. // Mettete qui il codice della soluzione
  7. int esponente = 10;
  8. int i,j;
  9. int trovato = 0;
  10. int risultato;
  11. int risultati[100];
  12. int indice = 0;
  13. if (N >= 10000) {
  14. for (i = 100; i >= 2; i--) {
  15. for(j = esponente;j >= 2;j--) {
  16. printf("%ld\n", (long int)pow(i,j));
  17. if (((long int)pow(i,j)) <= N ) {
  18. risultati[indice] = pow(i,j);
  19. indice++;
  20. printf("TROVATO");
  21.  
  22. break;
  23.  
  24. }
  25. }
  26.  
  27. }
  28. }
  29. else if (N >= 1000 && N <= 9999) {
  30. for (i = 50; i >= 0; i--) {
  31. for(j = esponente;j >= 2;j--) {
  32. printf("%ld\n", (long int)pow(i,j));
  33. if (((long int)pow(i,j)) <= N ) {
  34. risultati[indice] = pow(i,j);
  35. indice++;
  36. printf("TROVATO");
  37.  
  38. break;
  39.  
  40. }
  41. }
  42.  
  43. }
  44.  
  45. }
  46. else {
  47. for (i = 25; i >= 2; i--) {
  48. for(j = esponente;j >= 2;j--) {
  49. printf("%ld\n", (long int)pow(i,j));
  50. if ((( long int)pow(i,j)) <= N ) {
  51. risultati[indice] = pow(i,j);
  52. indice++;
  53. printf("TROVATO");
  54.  
  55.  
  56. break;
  57.  
  58. }
  59. }
  60. }
  61.  
  62. }
  63. risultato = risultati[0];
  64. for (i = 1; i<=indice-1; i++) {
  65. if (risultati[i] > risultato) risultato = risultati[i];
  66. }
  67.  
  68. return risultato;
  69. }
  70.  
  71.  
  72. int main() {
  73. FILE *fr, *fw;
  74. int N, i;
  75.  
  76. fr = fopen("input.txt", "r");
  77. fw = fopen("output.txt", "w");
  78. assert(1 == fscanf(fr, "%d", &N));
  79. fprintf(fw, "%d\n", alloca(N));
  80. fclose(fr);
  81. fclose(fw);
  82. return 0;
  83. }
  84.  
Runtime error #stdin #stdout 0s 2240KB
stdin
Standard input is empty
stdout
Standard output is empty