ayuda para un programa
el programa es para q muestre todos los numeros entre 1 y 100 q se pueden expresar como suma de numeros consecutivos, como el 5=3+2; 6=1+2+3 y asi sucesivamente
#include <iostream>
using namespace std;
int main(){
int i, j, l, numero;
for(i=1; i<=100; i++){
numero=0;
for(j=0; j<=i; j++){
numero=0;
for(l=j+1; l<=i; l++){
if(numero==i)
cout<<i<<"t";
numero=numero+l;
}
}
}
cout<<"nPresione una tecla y seguidamente ENTER: ";
cin>>i;
}
este programa funciona bien, xo me salen algunos numeros varia veces. como se puede corregir?
#include <iostream>
using namespace std;
int main(){
int i, j, l, numero;
for(i=1; i<=100; i++){
numero=0;
for(j=0; j<=i; j++){
numero=0;
for(l=j+1; l<=i; l++){
if(numero==i)
cout<<i<<"t";
numero=numero+l;
}
}
}
cout<<"nPresione una tecla y seguidamente ENTER: ";
cin>>i;
}
este programa funciona bien, xo me salen algunos numeros varia veces. como se puede corregir?
El fallo consiste en no salir de los bucles cuando se llega al objetivo hasta el primero:
#include <iostream>
using namespace std;
int main()
{
int i, j, l, numero;
for(i=1; i<=100; i++){
numero=0;
for(j=0; j<=i; j++){
numero=0;
for(l=j+1; l<=i; l++){
if(numero==i){
cout<<i<<"t";
j=101;
l=101;
}
numero=numero+l;
}
}
}
cout<<"nPresione una tecla y seguidamente ENTER: ";
cin>>i;
}
#include <iostream>
using namespace std;
int main()
{
int i, j, l, numero;
for(i=1; i<=100; i++){
numero=0;
for(j=0; j<=i; j++){
numero=0;
for(l=j+1; l<=i; l++){
if(numero==i){
cout<<i<<"t";
j=101;
l=101;
}
numero=numero+l;
}
}
}
cout<<"nPresione una tecla y seguidamente ENTER: ";
cin>>i;
}
