Jump to content
aMachado

Exercicio - Número Primo

Recommended Posts

aMachado

Olá a todos antes de mais,

Estou a fazer um trabalho para a universidade bastante simples. O objectivo é o utilizador introduzir um valor, e nós dizermos se o número é primo ou não.

Eu desenvolvi um fluxo grama juntamente com uma tabela de verificação e bateu tudo certo.

Desenvolvi o código e algo não está a bater certo, está sempre a devolver a mesma resposta, "O número é primo", independentemente do valor que colocarmos lá. Talvez um par de olhos frescos consiga ver o meu erro.

Desde já muito obrigado pela vossa atenção.

[CHEERS]

# include <stdio.h>
# include <stdlib.h>
# include <iostream>
# include <locale.h>
# include <iomanip>
using namespace std;

int main ()
{
	setlocale(LC_ALL,"");
	
	int n, r, quo, div,result;
	div=2;
	
	cout <<  "Introduza o número a ser verificado: ";
	cin >> n;
	
	do{
		r=n%div;
		quo=n/div;
		div++;
	} while (r!=0 && div<=quo);
	
	if (r!=0||n==2){
		result=1;
	}else{
		result=0;
	}
	
	if (result=0){
		cout << "O número não é primo.";
	}else{
		cout << "O número é primo.";
	}

}

2v1kb54.jpg

Share this post


Link to post
Share on other sites
iron

A tua condição não está propriamente bem feita.

 

Contudo deixo-te um código ao qual poderás dar uma vista de olhos.

 

int numeroLido;
int numeroDeDivisoes = 0;

while(numeroDeDivisoes < 3 && numeroLido != 0)
{
  int aux = numeroLido % 2;
  numeroLido /= 2;
  if(aux == 0) 
    ++numeroDeDivisoes;
  if(numeroLido == 0 && numeroDeDivisões == 2)
  {
    //imprime que é primo e acaba
  }
}

//imprime que nao é primo

 

Este código foi feito por alto e pode ter algum bug

 


Cumprimentos,
iron

Share this post


Link to post
Share on other sites
HappyHippyHippo

deixando de parte a qualidade do código original, afinal é um iniciante, o erro está somente numa linha de código:

	if (result=0){
		cout << "O número não é primo.";
	}else{
		cout << "O número é primo.";
	}

responde a esta simples questão : qual é o operador de comparação ?

 

no que toca à resposta anterior, vou assumir que terá sido dada de bom grado por alguém que está a dar os seus primeiros passos, e como tal, terá de ser analisada dentro desses moldes

  • Vote 1

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
aMachado

Desde ja muito obrigado pela atenção e pelo tempo disposto.

Operador de comparação ==?

Vou alterar o codigo assim que chegar a casa testar.

Obrigado a todos q perderam 5 min a olhar para o meu codigo.

Cumps,

Machado [CHEERS]

Share this post


Link to post
Share on other sites
aMachado

Feito, tive que colocar mais uma validação para o número 1.

Muito obrigado pela ajuda.

Cumps,

Share this post


Link to post
Share on other sites
HappyHippyHippo
2 hours ago, aMachado said:

Feito, tive que colocar mais uma validação para o número 1.

Muito obrigado pela ajuda.

Cumps,

agora optimiza o código ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.