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;
}