Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //nell'es 2 devi inizializzare c=1 e i=1, inoltre si può fare meglio modificando il while in questo modo:
- int c=5,s=0;
- while(c<=100){
- s=s+c;
- c=c+5;
- /*senza mettere nessuna condizione, scelgo io di incrementare c
- di 5 ogni volta e l'iterazione sarà anche più veloce.*/
- }
- printf("La somma vale: %d",s);
- //anche l'es.7 si poteva migliorare come il 2:
- int c=7,s=0;
- while(c<=100){
- s=s+c;
- c=c+7;
- /*senza mettere nessuna condizione*/
- }
- //es.6:
- /*Il problema della tua versione è che hai stampato il risultato all'interno del while.
- Che il numero sia primo o no, lo saprai solo al termine dell'iterazione, dopo aver controllato
- tutti i casi possibili. Un altro problema è che il problema ti chiede di contare i divisori,
- ossia quei numeri per cui n/divisore ha resto 0: n%k=0*/
- int n, k=2, divisori=0;
- printf("Inserire un numero: ");
- scanf("%d",&n);
- while(k<n){
- //conto i divisori
- if(n%k==0){
- divisori++;
- }
- k++;
- }
- //esco dal ciclo e faccio le considerazioni necessarie
- if(divisori==0){
- printf("Il numero è primo\n");
- }
- else{
- printf("Il numero non è primo\n");
- }
- //es.9
- /*conviene scrivere le if senza incasinare troppo il codice, altrimenti diventa più difficile
- trovare gli errori. Anzi che scrivere:*/
- if(a<b){
- }
- else{
- //scambia i valori
- }
- /*è meglio scrivere*/
- if(a>b){
- //scambio i valori
- }
- //condizione sbagliata nel while:
- while(i>=a && i<=b){ ma non va bene lo stesso:
- while(a<=b){
- //devo sommare i numeri compresi tra a e b, quindi sommo al totale a e lo incremento
- //non serve i
- s=s+a;
- a++;
- }
- //es. 11
- /*
- 1) manca l'input
- 2) s=s+1/n;
- 3) int i=1;
- */
- //es. 12
- /*non si può scrivere la potenza così, devi usare il metodo usato
- nell' esercizio fatto assieme, coi prodotti, oppure fare: */
- #include <math.h>
- float s;
- //[...] nel while:
- s=s+pow(i,i);
- //es.13
- /*
- 1) int i=1; perchè altrimenti viene contato anche lo 0 nei multipli, es: 0%3=0
- 2) modificare l'istruzione della sostituendo != con ==:
- if(i%5==0 || i%3==0){
- cioè se il resto della divisione è 0
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement