GatoBooster

Certamen 3

Oct 17th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.08 KB | None | 0 0
  1. #include <stdio.h>
  2. void trianguloConPiedras(unsigned long long *, unsigned long long *);
  3.  
  4. long long int Resta(unsigned long long *);
  5.  
  6. int main(){
  7.  
  8.     unsigned long long cuantasPiedras;
  9.     scanf("%llu",&cuantasPiedras);
  10.    
  11.     unsigned long long cuantasSobran = cuantasPiedras;
  12.     unsigned long long lado = 1;
  13.    
  14.     trianguloConPiedras(&lado,&cuantasSobran);
  15.    
  16.     printf("Lado triangulo = %llu y sobran = %llu piedras\n",lado,cuantasSobran);
  17.    
  18.     return 0;
  19. }
  20.  
  21. void trianguloConPiedras(unsigned long long *lado,unsigned long long *cuantasSobran){
  22.    
  23.     long long int suma = *cuantasSobran,resta=1;
  24.     *lado=0;
  25.    
  26.     do{
  27.         suma -= resta;
  28.         *lado++;
  29.         resta++;
  30.     }while(suma-resta >= 0);
  31.     *cuantasSobran = suma;
  32.    
  33. };
  34.  
  35. void trianguloConPiedras(unsigned long long *lado,unsigned long long *cuantasSobran){
  36.    
  37.     if(*cuantasSobran >= Resta(*lado)){
  38.         *cuantasSobran -= Resta(*lado);
  39.         *lado++;
  40.         trianguloConPiedras(*lado,*cuantasSobran);
  41.     }
  42.     *lado--;
  43. };
  44.  
  45. long long int Resta(unsigned long long *lado){
  46.     long long int restar;
  47.     int i;
  48.    
  49.     for(i=0;i<=*lado;i++){
  50.         restar+=i;
  51.     }
  52.     return restar;
  53. };
Advertisement
Add Comment
Please, Sign In to add comment