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

Тема в разделе "Общие вопросы по С и С++", создана пользователем yardie, 30 авг 2010.

  1. yardie

    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>???
    или максимально упростить программу?
     
  2. evg2108

    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>
     

Поделиться этой страницей