double a, p = 1.0;
unsigned n;
cin >> a >> n;
do { p *= a; } while (n-- > 0);
p /= a;
cout << p;
С циклом do-while и без if только такой говнокод получиться и может.
Цикл всегда выполняется n + 1 раз (именно для того, чтобы решить проблему n==0), потому после него надо делить p на a.
goranikУченик (96)
2 недели назад
блин, если степень будет ровна нулю, то код выдаст будто в первой степени, а надо чтобы выдавал единицу, в этом то и проблема.