[cfinformatica-grup] Re: [cfinformatica-grup] Re: [cfinformatica-grup] Exercicis de programació

  • From: ALEJANDRO CASTAN SALINAS <acastan@xxxxxxxx>
  • To: llistes - CF Informàtica <cfinformatica-grup@xxxxxxxxxxxxx>
  • Date: Tue, 30 May 2017 07:56:39 +0200

#include <stdio.h>
#include <math.h>


int main(void) {

  int F, N, i;

  /* Prova les 25 primeres */
  for (i=0; i<25; i++) {
    N = i;
    printf("%3d bitlles", N);

    /* Solució amb fòrmula . Cost O(1) */
    printf("     fòrmula: %.2lf", 0.5*sqrt(1+8*N) - 0.5);

    /* Solució amb iteració . Cost O(F) = O(arrel(N)) */
    F = 0;
    while (F < N) {
      F++;
      N = N - F;
    }
    printf("     iterant: %d files i sobren %d bitlles\n", F, N);

  }

  return 0;
}


El dia 30 de maig de 2017 a les 7:29, ALEJANDRO CASTAN SALINAS <
acastan@xxxxxxxx> ha escrit:



El dia 29 de maig de 2017 a les 19:17, Alejandro Castán Salinas <
acastan@xxxxxxxx> ha escrit:

I si a algú no li agraden les mates amb un únic bucle de dos instruccions
també es troba F. Quelcom semblant a:

F = 0;
i = 1;
while (i < N) {
  N = N - i;
  i++;
  F++
}
printf("%d files i sobren %d bitlles\n", F, N);




Perdó, on dic

   while (i < N)

vull dir

   while (i <= N)

i com que F sempre val i-1 encara es pot resoldre amb menys instruccions
...

F = 0;
while (F < N) {
  F++;
  N = N - F;
}
printf("%d files i sobren %d bitlles\n", F, N);

Però a aquesta solució, com a la de la fòrmula matemàtica. no hi ha cap
estructura de dades, només un parell de variables




-- 
Àlex Castán Salinas
Institut Ausiàs March
avinguda d’Esplugues, 38-42, 08034 Barcelona
telèfon. 93-203-33-32 (tardes) , 689-46-56-36

Other related posts: