Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lohana

Progama de c++

Recommended Posts

Um numero é considerado triangular se ele é o produto de 3 números inteiros sucessivos , Ex 120=4*5*6.Crie um programa que informe se um numero é triangular ou não.

Dei inicio assim :

 

#include <ioatrem.h>

 

 

int num;

 

int main()

{

cout<<” Informe um numero “<<endl;

cin>>num;

 

*preciso utilizar essa biblioteca e esses meios como : cout , float , int ... .SEM alteração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer com 3 for integrados (um dentro do outro) utilizando os seus contadores. A cada loop você testa se o produto dos contadores é igual ao número inserido, se for, você usa algum método pra confirmar, por exemplo: "Confirm = 1". Quando sair dos for, você colocar um condição pra detectar se foi confirmado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <iostream>
using namespace std;
 
int main(void) {
   int num, i;
   cout << "Informe um inteiro: ";
   cin >> num;

   i=1;
   while(i * (i+1) * (i+2) < num) {
      i++;
   }
 
   if (i * (i+1) * (i+2) == num) {
      cout << "Número triangular\n";
   } else {
      cout << "Não é um número triangular\n";
   }
  return 0;
}

Ou, chuto eu (porque não encontrei nenhuma demonstração matemática sobre isso), você pode fazer o seguinte:

 

#include <iostream>
#include <math>
using namespace std;
 
int main(void) {
   int num;
   double cube_root;
   int minimum_term;
 
   cout << "Informe um número: ";
   cin >> num;
   cube_root = pow(num, 1/3.0);
   minimum_term = (int) floor(cube_root);

  if (minimum_ term * (minimum_term + 1) * (minimum_term + 2) == num) {
     cout <<  "Triangular\n";
  }
  return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.