Gente, teve um problema na minha calculadora de MMC, ela foi feita no intuito de ajudar pessoas com dificuldade em matematica, portanto ela calcula o MMC de certos numeros, o problema e que ela não calcula numeros primos maiores que 31, o que faz com que numeros maiores que o mesmo, ate naturais, podem chegar a não calcular também, eu ate fiz uma parte do codigo identica a dos outros que verifica qual numero e possivel dividir, o esqueminha e igual ao que você faz em sala de aula, de decomposisao, ent eu preciso de ajuda pra resolver aquela parte, porq o programa não passa naquela parte e não calcula estes numeros, porem não sei como fazer pra ela passar nessa parte.
Pergunta
Elon Neto
Gente, teve um problema na minha calculadora de MMC, ela foi feita no intuito de ajudar pessoas com dificuldade em matematica, portanto ela calcula o MMC de certos numeros, o problema e que ela não calcula numeros primos maiores que 31, o que faz com que numeros maiores que o mesmo, ate naturais, podem chegar a não calcular também, eu ate fiz uma parte do codigo identica a dos outros que verifica qual numero e possivel dividir, o esqueminha e igual ao que você faz em sala de aula, de decomposisao, ent eu preciso de ajuda pra resolver aquela parte, porq o programa não passa naquela parte e não calcula estes numeros, porem não sei como fazer pra ela passar nessa parte.
Aqui o codigo:
#include <iostream>
#include <cstdio>
#include <conio.h>
#include <stdlib.h>
float numero1, numero2;
int divisivel[50], paro, primeiro, mmc, verifica(), numero11[50], numero22[50];
float verificasao1, verificasao2;
bool que;
int main(){
for(int y = 0; y < 50; y++){
divisivel[y] = 1;
numero11[y] = 1;
numero22[y] = 1;
}
std::cout << "Ola, bem vindo ao contador de MMC" << std::endl;
std::cout << "Coloque quais numeros voce quer fazer o MMC (2 numeros apenas)" << std::endl;
std::cout << "Primeiro numero: ";
std::cin >> numero1;
std::cout << "Segundo numero: ";
std::cin >> numero2;
verifica();
}
int verifica(){
for(int i = 0; i < 51; i++){
verificasao1 = numero1 / 2;
verificasao2 = numero2 / 2;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = 2;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = 2;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = 2;
}
}
else{
verificasao1 = numero1 / 3;
verificasao2 = numero2 / 3;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = 3;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = 3;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = 3;
}
}
else{
verificasao1 = numero1 / 5;
verificasao2 = numero2 / 5;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = 5;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = 5;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = 5;
}
}
else{
verificasao1 = numero1 / 7;
verificasao2 = numero2 / 7;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = 7;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = 7;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = 7;
}
}
else{
verificasao1 = numero1 / 11;
verificasao2 = numero2 / 11;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = 11;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = 11;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = 11;
}
}
else{
verificasao1 = numero1 / 13;
verificasao2 = numero2 / 13;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = 13;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = 13;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = 13;
}
}
else{
verificasao1 = numero1 / 17;
verificasao2 = numero2 / 17;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = 17;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = 17;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = 17;
}
}
else{
verificasao1 = numero1 / 23;
verificasao2 = numero2 / 23;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = 23;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = 23;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = 23;
}
}
else{
verificasao1 = numero1 / 29;
verificasao2 = numero2 / 29;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = 29;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = 29;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = 29;
}
}
else{
verificasao1 = numero1 / 31;
verificasao2 = numero2 / 31;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = 31;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = 31;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = 31;
}
}
else{
verificasao1 = numero1 / numero1;
verificasao2 = numero2 / numero1;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = numero1;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = numero1;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = numero1;
}
}
else{
verificasao1 = numero1 / numero2;
verificasao2 = numero2 / numero2;
if (verificasao1 == (int)verificasao1 && verificasao2 == (int)verificasao2){
if(numero1 != 1 && numero2 != 1){
numero1 = verificasao1;
numero2 = verificasao2;
divisivel = numero2;
}
}
else if(verificasao1 == (int)verificasao1){
if(numero1 != 1){
numero1 = verificasao1;
divisivel = numero1;
}
}
else if(verificasao2 == (int)verificasao2){
if(numero2 != 1){
numero2 = verificasao2;
divisivel = numero2;
}
}
}
}
}
}
}
}
}
}
}
}
}
numero11 = numero1;
numero22 = numero2;
}
for (int x = 0; x < 50; x++){
if (divisivel[x] == 1){
break;
}
if (x == 0){
mmc = divisivel[x];
}
else if (x == 1){
mmc = mmc * divisivel[x];
}
else{
mmc = mmc * divisivel[x];
}
std::cout << numero11[x] << ", " << numero22[x] << " | " << divisivel[x] << std::endl;
}
std::cout << "MMC = " << mmc;
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.