Skip to content

Instantly share code, notes, and snippets.

@Silva97
Last active February 22, 2018 19:39
Show Gist options
  • Save Silva97/b668574bd17d0494758936aa060e0260 to your computer and use it in GitHub Desktop.
Save Silva97/b668574bd17d0494758936aa060e0260 to your computer and use it in GitHub Desktop.
/********************
* Exemplo de cálculo matemático de divisão e multiplicação
* feito com soma e subtração.
*
* Por Luiz Felipe - https://github.com/Silva97
********************/
#include <stdio.h>
#define PRECISION 1000000
int main(){
int x, y, z, i;
int result, mod, frac; // resultado, sobra/módulo, fração
fputs("Numero 1: ", stdout);
scanf("%d", &x);
fputs("Numero 2: ", stdout);
scanf("%d", &y);
// Dividindo número
mod = x;
result = 0;
while(mod >= y){
result++;
mod -= y;
}
// result = x / y;
// mod = x % y;
// result é o resultado da divisão...
// Enquanto mod é a sobra da divisão
// Obtendo a fração de acordo com o nível de precisão...
z = mod; // Z é o valor inicial
for(i = 0; i < PRECISION-1; i++) mod += z;
// mod *= PRECISION;
frac = 0;
while(mod >= y){
frac++;
mod -= y;
}
// (sobra * PRECISION) / Y
printf("Resultado calculo \"na mao\": %d.%06d\n", result, frac);
printf("Resultado calculo normal: %.6f\n", (float)x / (float)y);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment