N>=a в степени K

  • Автор темы yardie
  • Дата начала
Y

yardie

вот решил задачу таким образом:
задача:
Напишите программу, находящую для заданных числел n и k максимальное число a, такое, что ak≤ n

решение:
#include <iostream>
#include <cmath>
using namespace std;

void main()
{
double n,a,k;
cin >> n;
cin >>k;

for ( a=n-1; a; a--)



if (n>=pow(a,k))

{
cout << a;
break;
}
cin.get();
cin.get();

}
можно ли решить без заголовка <cmath>???
или максимально упростить программу?
 
E

evg2108

Насчёт "максимально упростить программу":

C++:
#include <iostream>
#include <cmath>
using namespace std;

void main()
{
int a;
double n,k;
cin >> n;
cin >>k;
a = int(pow(n, 1/k));
cout << a;
cin.get();
cin.get();
}
Типа, если N>=a^k и при этом a должно быть целым, тогда a= корень степени k из N, и при этом надо результат округлить в меньшую сторону, то есть отбросить дробную часть (привести к int)

не в курсе как сделать без <cmath>
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!