int my_square_root(int nb) { int i; while (my_power_rec(i, 2) < nb) { i = i + 1; } if (my_power_rec(i, 2) == nb) return (i); else return (0); }
int my_power_rec(int nb, int power) { if (power + 1 > 1) { return (nb * (my_power_rec(nb, power - 1))); if ((nb * (my_power_rec(nb, power - 1))) > 2147483647) return (0); } else if ( power < 0) return (0); else if ( power == 0) return (1); return (0); }
int get_param(t_prog *p, int n) { int out; int i; int sizes[3]; int pos; int par[3]; par[0] = TYPE_PARAM1; par[1] = TYPE_PARAM2; par[2] = TYPE_PARAM3; sizes[P_DIR] = DIR_SIZE; sizes[P_REG] = REG_SIZE; sizes[P_IND] = IND_SIZE; pos = 0; out = 0; i = -1; while (++i && i < n) pos += sizes[par[i]]; i = -1; while (++i && i < sizes[par[n]]) out += p->param[pos + i] * my_power_rec(2, (sizes[par[n]] - i) * 8); my_printf("-- %d --\n", out); return (out); }
int convert_basex(char *str, int base_from) { int nb; int is_neg; int i; int j; j = 0; i = my_strlen(str) -1; is_neg = 0; nb = 0; while (i > -1) { if (str[i] == '-' && str[i + 1] >= '0' && str[i + 1] <= '9') is_neg = 1; if (str[i] >= '0' && str[i] <= '9') { nb += ((str[i] - 48) * (my_power_rec(base_from, j))); } hexnum(str[i], &j, &nb, base_from); --i; ++j; } if (is_neg) nb *= -1; return (nb); }
int my_get_nbr(char *str) { int i; int nb; int pow; i = 0; nb = 0; if (str != NULL) { while ((str[i] > '9' || str[i] < '0') && str[i] != '\0') i = i + 1; while (str[i] <= '9' && str[i] >= '0' && str[i] != '\0') i = i + 1; pow = 0; i--; while (i >= 0 && str[i] <= '9' && str[i] >= '0' && str[i] != '\0') { nb = nb + ((str[i] - 48) * my_power_rec(10, pow)); pow++; i--; } if (i >= 0 && str[i] == '-') nb = nb * (-1); } return (nb); }
int main() { int i; i = my_power_rec(2, 2); my_put_nbr(i); return (0); }
int my_power_rec(int nb, int p) { if (p > 1) nb = nb * my_power_rec(nb, p - 1); else nb = 1; return (nb); }
int my_power_rec(int nb, int power) { if (power == 0) return (0); else if (power > 1) nb = nb * my_power_rec(nb, power - 1); return (nb); }
int my_power_rec(int nb, int pow) { int nbr; if (pow == 0) return (1); nbr = nb * my_power_rec(nb, pow - 1); return (nbr); }
int my_power_rec(int nb, int power) { int a = nb; if (nb == 0 || power == 0) return (1); while (power > 0) return (nb * my_power_rec(nb, power - 1)); }
int my_power_rec(int nb, int pwr) { if (pwr == 1 || nb == 1) return (nb); else if (pwr == 0) return (1); else return (nb * my_power_rec(nb, pwr - 1)); }
int my_power_rec(int nb, int power) { if (power == 0 || nb == 0) return (1); if (power < 0) return (0); else return (nb * my_power_rec(nb, power -1)); }
int my_power_rec(int nb, int power) { if (power == 1) return (nb); if (power == 0) return (0); if (power < 0) return (1); return (nb * my_power_rec(nb, (power - 1))); }
int my_power_rec(int nb, int power) { if (power == 0) return (1); if (power == 1) return (nb); if (nb > 8 && power > 9) return (0); while (power > 1) return (nb * my_power_rec(nb, power - 1)); }
int my_power_rec(int nb, int power) { if (power > 1) { nb = nb * my_power_rec(nb, power -1); } if (power == 0) { return (0); } return (nb); }
void hexnum(char c, int *j, int *nb, int base_from) { if (c == 'A') { *nb += ( 10 * (my_power_rec(base_from, *j))); } if (c == 'B') { *nb += ( 11 * (my_power_rec(base_from, *j))); } if (c == 'C') { *nb += ( 12 * (my_power_rec(base_from, *j))); } if (c == 'D') { *nb += ( 13 * (my_power_rec(base_from, *j))); } if (c == 'E') { *nb += ( 14 * (my_power_rec(base_from, *j))); } if (c == 'F') { *nb += ( 15 * (my_power_rec(base_from, *j))); } return; }
int my_power_rec(int nb, int pow) { if (nb == 1 || pow == 0) return (1); else if (nb == 0) return (0); else { if (pow == 1) return (nb); return (nb * my_power_rec(nb, pow - 1)); } }
int calc_nbr(char *str, int i, char *base, int len) { int i_base; int result; int exp; int j; exp = 0; result = 0; j = i; while (str && str[j + 1] && check_base(str[j + 1], base) != -1) j++; while (str && str[j] && j >= i) { if (214783647 - result <= my_power_rec(len, exp)) exit(3); i_base = check_base(str[j], base); result = result + (i_base * my_power_rec(len, exp)); j--; exp++; } return (result); }
int my_power_rec(int nb, int power) { if (power == 0) return (1); if (power == 1) return (nb); if (power < 0) return (0); while (power != 1) { power = power - 1; return (nb * my_power_rec(nb, power)); } }
int my_power_rec(int nb, int power) { int var; if (power < 0 || power >= 100000) return 0; else if (power <= 1) return 1; else { var = my_power_rec(nb, power - 1); if (var == 0 || nb > MAX_INT / var) return 0; return nb * var; } }
int get_ind_value(t_info *t, t_prog *p, int param, int mod) { int i; int pos; int out; i = 0; out = 0; pos = get_index(PC, p->param[param], mod); while (i < IND_SIZE) { out += t->vm[pos + i] * my_power_rec(2, (IND_SIZE - i) * 8); i++; } return (out); }
int get_reg_value(t_prog *p, int param) { int i; int out; int tmp; i = 0; out = 0; while (i < REG_SIZE) { tmp = p->reg[p->param[param] * REG_SIZE + i]; out += tmp * my_power_rec(2, (REG_SIZE - i) * 8); i++; } return (out); }
int my_power_rec(int nb, int power) { if (power < 0) return (0); if (power == 0) return (1); if (nb == 1) return (1); if (nb == -1 && power % 2 == 0) return (1); if (nb == -1 && power % 2 == 1) return (-1); if (power > 1) return (nb * my_power_rec(nb, power - 1)); else return (nb); }
int my_power_rec(int nb, int power) { int result; if (power > 0) { result = nb * my_power_rec(nb, (power - 1)); return(result); } else { if (power == 0) { return (1); } return (0); } }
void get_codage(unsigned char code, char **params, int nb_args) { int i; int j; i = 0; while (i < nb_args) { j = 0; params[TYPE_P][i] = 0; while (j < 2) { if ((code & 128) != 0) params[TYPE_P][i] += my_power_rec(2, (1 - j)); code = code << 1; j++; } i++; } }
int my_live(t_info *t, t_prog *p) { int i; int jo; t->nb_live++; jo = 0; i = 0; while (i < 4) { jo += p->param[i] * my_power_rec(2, (3 - i) * 8); i++; } if (jo > 0 && jo <= 4) { my_printf("le joueur %d(%s) est en vie\n", jo, t->prog_list[jo - 1]); t->verif[jo - 1] = 1; } if (t->nb_live % NBR_LIVE == 0) t->delta += CYCLE_DELTA; return (0); }