Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void trianguloConPiedras(unsigned long long *, unsigned long long *);
- long long int Resta(unsigned long long *);
- int main(){
- unsigned long long cuantasPiedras;
- scanf("%llu",&cuantasPiedras);
- unsigned long long cuantasSobran = cuantasPiedras;
- unsigned long long lado = 1;
- trianguloConPiedras(&lado,&cuantasSobran);
- printf("Lado triangulo = %llu y sobran = %llu piedras\n",lado,cuantasSobran);
- return 0;
- }
- void trianguloConPiedras(unsigned long long *lado,unsigned long long *cuantasSobran){
- long long int suma = *cuantasSobran,resta=1;
- *lado=0;
- do{
- suma -= resta;
- *lado++;
- resta++;
- }while(suma-resta >= 0);
- *cuantasSobran = suma;
- };
- void trianguloConPiedras(unsigned long long *lado,unsigned long long *cuantasSobran){
- if(*cuantasSobran >= Resta(*lado)){
- *cuantasSobran -= Resta(*lado);
- *lado++;
- trianguloConPiedras(*lado,*cuantasSobran);
- }
- *lado--;
- };
- long long int Resta(unsigned long long *lado){
- long long int restar;
- int i;
- for(i=0;i<=*lado;i++){
- restar+=i;
- }
- return restar;
- };
Advertisement
Add Comment
Please, Sign In to add comment