енот-полиглот
1

Представить число в виде сумы кубов двух натуральных чисел

25.11.2013, 03:46. Показов 2048. Ответов 1
Метки нет (Все метки)

Я только начинаю учится, напишите плиз программу задачей которой является представить число в виде сумы кубов двух натуральных чисел, заранее благодарен)
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2013, 03:46
Ответы с готовыми решениями:

Вывести наименьшее натуральное число, которое можно представить двумя разными способами в виде суммы кубов двух натуральных чисел
Помогите пожалуйста, я не знаю в чём дело, почему она выдаёт такое количество значений. #include...

Определить, можно ли представить число N в виде суммы кубов трех натуральных чисел
Определить можно ли представить заданное натуральное число N как сумму кубов каких-нибудь трех...

Представить число 1729 в виде суммы кубов двух чисел двумя способами
c++. индийский математик Рамануджан обратил внимание на то, что число 1729 можно представить в виде...

Определить, можно ли представить число в виде суммы двух квадратов натуральных чисел
Дано натуральное число n.Определить,можно ли представить его в виде суммы двух квадратов...

1
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
25.11.2013, 06:41 2
Лучший ответ Сообщение было отмечено как решение

Решение

Ну... Это не такая уж и простая задача. К слову, обычно здесь помогают, а не пишут с нуля.
Ну да ладно. Влоб примерно так. Надо будет подумать над улучшением, а именно - как быстрее брать кубический корень, как пропускать очевидно неподходящие числа (и критерии этой "очевидности").

Дубль кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <utility>
#include <cmath>
 
#define EPS 1e-5
 
typedef unsigned int uint;
 
std::pair < uint, uint >* to_cube_sum ( uint n ) {
    for ( uint i = 0; i < n; i++ ) { /* проходимся по всем числам меньше данного
                                        и если данное число за вычетом квадрата
                                        текущего - квадрат, то эти числа - искомые */
        double invcube = pow ( (double)(n - i*i*i), 1./3. );
        if ( (invcube - (uint)(invcube + EPS) ) < 2*EPS ) { // нечёткое сравнение
            return new std::pair < uint, uint > ( i, (uint)invcube );
        }
    }
    
    return nullptr; // в случае неуспеха возвращаем null
}
 
int main() {
    uint t;
    while ( !std::cin.eof () ) {
        std::cin >> t;
        auto p = to_cube_sum ( t );
        std::cout << t << ": ";
        if ( p != nullptr ) {
            std::cout << p->first << " " << p->second << std::endl;
        } else {
            std::cout << "not found" << std::endl;
        }
    }
    
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2013, 06:41
Помогаю со студенческими работами здесь

Можно ли заданное натуральное число М представить в виде суммы квадратов двух натуральных чисел?
Можно ли заданное натуральное число М представить в виде суммы квадратов двух натуральных чисел?...

Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел.
Собственно само задание. 5). Даны натуральное число n. Среди чисел 1, 2, …, n найти все те,...

Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел
Даны натуральное число n. Среди чисел 1, 2, …, n найти все те, которые можно представить в виде...

Представить заданное число в виде произведения двух натуральных чисел, чтобы их сумма была максимальной
Помогите с задачей пожалуйста,очень срочно!!! Задано натуральное число x. Необходимо представить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru