Hinamarth

Somma tre cubi

Dec 9th, 2011
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.24 KB | None | 0 0
  1.     #include<stdio.h>
  2.     #include<stdlib.h>
  3.     #include<math.h>
  4.    
  5.     int functionC(int);
  6.  
  7. void min_max(int*, int);
  8.  
  9. void min_max( int *numeriC, int N){
  10.       int *po, *pp;
  11.       po=numeriC;
  12.         while(*po==0){
  13.           po++;
  14.           numeriC[0]=*po;
  15.         }
  16.         pp=numeriC+N-1;
  17.         while(*pp==0){
  18.           pp--;
  19.           numeriC[N-1]=*pp;
  20.         }
  21.         printf("Il minimo è %d \n", numeriC[0]);
  22.         printf("Il massimo è %d \n", numeriC[N-1]);
  23.     }
  24.    
  25.    
  26.     int func_C(int n){
  27.       int  x, a, b, c;
  28.       for( a=1; a<n; a++){
  29.         for( b=1; b<n; b++){
  30.           for( c=1; c<n; c++){
  31.         if(n==(pow(a,3)+pow(b,3)+pow(c,3))){
  32.           x=1;
  33.           return x;
  34.         }
  35.           }  
  36.             }
  37.       }
  38.     x=0;
  39.     return x;
  40.     }
  41.    
  42.     main(){
  43.       int N, i, numeriC[1000], x, n, a;
  44.       printf("Questo programma trova i numeri interi minori di un numero  N costituiti da somma dei cubi di altri tre numeri  interi\n");
  45.       printf("Per fare questo è necessario che te inserisca un N minore di 1000\n");
  46.       scanf("%d", &N);
  47.       for(n=0; n<N; n++){
  48.         x=func_C(n);
  49.         if(x==1){
  50.           numeriC[n]=n;
  51.         }
  52.         else{ numeriC[n]=0;}
  53.       }
  54.       for(i=0; i<N; i++){
  55.         if(numeriC[i]!=0){
  56.         printf("%d ", numeriC[i]);
  57.         }
  58.       }
  59.       printf("\n");
  60.       min_max(numeriC, N);
  61.      }     
  62.  
  63.  
Advertisement
Add Comment
Please, Sign In to add comment