Existe algum modo em uma divisão de inteiros contendo resto eu conseguir pegar só a parte inteira,para depois continuar dividindo?
Ex.: 123/10 = 12 resto 3;
Existe algum modo em uma divisão de inteiros contendo resto eu conseguir pegar só a parte inteira,para depois continuar dividindo?
Ex.: 123/10 = 12 resto 3;
sim isso se chama modulo da divisão e vc usa o operador %
int resto = 123 % 10;
Se os tipos das variáveis envolvidos na divisão forem inteiros, então o resultado será a divisão inteira. E aí como o @peczenyj postou, você pode usar o operador módulo % para obter o resto:
123 / 10 = 12
123 % 10 = 3
Veja um exemplo que eu fiz para contar divisores ímpares e caso não haja divisores diferentes de 1 e o próprio número, o programa reporta que ele é primo.
#include <iostream>
#include <math.h>
using namespace std;
int main(void)
{
int m, i, k;
cout << "entrar com inteiro: ";
cin >> m;
i = 1;
k = 0;
do
{
i+=1;
if (m % i ==0)
{
cout << "O numero " << m << " tem divisor " << i << endl;
if(i % 2 !=0)
{
k+=1;
continue;
}
}
}
while(i < (m-1));
system("pause");
cout << "Divisores impares de " << m << ": "<< endl;
cout << k << endl;
cout << endl;
system("pause");
if(k == 0)
cout << "O numero "<< m << " e primo " << endl;
system("pause");
return 0;
}