0 / 0 / 0
Регистрация: 25.02.2015
Сообщений: 25
1

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

01.04.2015, 22:45. Показов 7515. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Определить можно ли представить заданное натуральное число N как сумму кубов каких-нибудь трех натуральных чисел n, m, k.
https://www.cyberforum.ru/cgi-bin/latex.cgi?N={n}^{3}+{m}^{3}+{k}^{3}
Попытался написать получилось не очень, ответ всегда 1, 1, 1.
Не подскажите ли как выполнить данную задачу.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
void main()
{
  int N,n,m,k;
  clrcscr();
   cout<<"N=";
   cin>>N>>endl;
    n=pow(N-pow(m,3)-pow(k,3),1\3);
    m=pow(N-pow(n,3)-pow(k,3),1\3);
    k=pow(N-pow(n,3)-pow(m,3),1\3);
  cout<<n<<endl<<m<endl<<k;
  getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2015, 22:45
Ответы с готовыми решениями:

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

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

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

Дано натуральное число n. Можно ли представить его в виде суммы трех квадратов натуральных чисел?
Подскажите как правильно составить программу к этим задачам: 1.Дано натуральное число n. Можно ли...

3
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
01.04.2015, 23:31 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
#include <math.h>
#include <iostream>
using namespace std;
int main()
{
    int digit, n = 0, m = 0, k = 0;
    cin >> digit;
 
    for(; pow(n,3.0)<=digit ; ++n)
    {
 
    }
    n--;
 
    for(; pow(m,3.0)<=digit-pow(n,3.0) ; ++m)
    {
 
    }
    m--;
 
    for(; pow(k,3.0)<=digit-pow(n,3.0)-pow(m,3.0) ; ++k)
    {
 
    }
    k--;
 
    cout << n << "\n" << m << "\n" << k << endl;
 
    if(pow(n,3.0)+pow(m,3.0)+pow(k,3.0)==digit) cout << "Yes" << endl;
    else cout << "No";
    return 0;
}
Немного "кривая" конструкция получилась, но пока ничего лучше не придумал
1
0 / 0 / 0
Регистрация: 25.02.2015
Сообщений: 25
01.04.2015, 23:55  [ТС] 3
Gr1f0nn, Не могли бы объяснить ++n(/m/k) и n(/m/k)--
++n и n++ тоже самое или нет?
0
244 / 164 / 133
Регистрация: 30.09.2012
Сообщений: 690
02.04.2015, 00:25 4
DeLipFin, В случае с циклами, то там условие, если число в кубе меньше ,чем число, которое ввел пользователь, то увеличиваем n\k\m на 1. Т.к. он увеличивает число на 1 до тех пор, пока куб меньше заданного числа, то в итоге, число увеличивается на 1 лишнюю единицу (на последней итерации) и куб этого числа уже больше заданного, поэтому после цикла я пишу n\m\k--. Чтобы этого избежать, надо по-другому построить цикл, либо условие.

++n и n++ Разные вещи, но результат зависит от конкретного случая. Если просто написать ++n\n++; ,то результат будет один и тот же.
Но если вы напишите:
C++
1
2
3
4
5
6
7
8
9
10
....
n = 1;
k = 0;
k = ++n;
// в итоге, k = 2, n = 2;
/////////
n=1;
m = 0;
m = n++;
// в итоге, m = 1; n = 2
Соответственно, правильнее назвать эти операции префиксный инкремент ++n и постфиксный инкремент n++. Тоже самое и с -- (постфиксный\префиксный).

Если есть еще вопросы, спрашивайте, постараюсь ответить ^_^
0
02.04.2015, 00:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2015, 00:25
Помогаю со студенческими работами здесь

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

Можно ли представить данное число в виде произведения трех последовательных натуральных чисел
Помогите пожалуйста решить задачи на С++ 2) (Функция) Дано натуральное число n. Выяснить, можно...

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

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


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

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

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