Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
5 / 5 / 0
Регистрация: 18.10.2009
Сообщений: 56
1

Найти наименьшее натуральное число n, представимое в виде суммы кубов двух натуральных чисел

18.10.2009, 11:54. Показов 1936. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание: найти наименьшее натуральное число n, представимое в виде суммы кубов двух натуральных чисел: x^3+y^3=n(x>=y);
Язык: Си
Выполнить требовалось с помощью именно циклов while.
Ув.программисты, помогите понять, что не так я написал.


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
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<stdio.h>
#include<conio.h>
#include<math.h>
 
void main()
{
int i,n,a,b,c,d;
clrscr();
a=b=c=d=i=n=0;
while(i<1)
{
    while((a<=n)&&(i<1))
    {
        while((b<=n)&&(i<1))
        {
        if(pow(a,3)+pow(b,3)==n)
        {
            while((c<=n)&&(i<1))
            {
                while((d<=n)&&(i<1))
                {
                if((pow(c,3)+pow(d,3)==n)&&(c!=a)&&(c!=b))
                {
                printf("n=%d\n",n);
                if(b<a)
                printf("x1=%d y1=%d\n",a,b);
                else
                printf("x1=%d y1=%d\n",b,a);
                if(d<c)
                printf("x2=%d y2=%d\n",c,d);
                else
                printf("x2=%d y2=%d\n",d,c);
                i=1;
                }
                d++;
                }
            c++;
            }
         }
         b++;
         }
    a++;
    }
n++;
 
}
 
getch();
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2009, 11:54
Ответы с готовыми решениями:

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

Найти наименьшее натуральное число n, представимое двумя различными способами в виде суммы кубов
Найти наименьшее натуральное число n, представимое двумя различными способами в виде суммы кубов...

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

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

5
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
18.10.2009, 12:01 2
если ты про ошибки компиляции везде в pow сделай на подобии
C
1
pow((double)c,3)
Добавлено через 2 минуты
алгоритм можешь проверить забив в поиске по данному разделу такие слова: "сумма кубов" . тут уже две темы такие же
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
18.10.2009, 13:17 3
Цитата Сообщение от yukas Посмотреть сообщение
Задание: найти наименьшее натуральное число n, представимое в виде суммы кубов двух натуральных чисел: x^3+y^3=n(x>=y);
Код у Вас написан для поиска наминьшего натурального n, которое можно представить в виде суммы кубов двух различных пар натуральных чисел
Т.е. :
найти n=x^3+y^3 и n=a^3+b^3, где (x не равно a и не равно b, y не равно a и не равно b)
0
5 / 5 / 0
Регистрация: 18.10.2009
Сообщений: 56
18.10.2009, 13:29  [ТС] 4
Код компилируется, просто программа не делает то, что должна...как будто какой-то цикл бесконечный...
И да, числа не должны быть равны, т.е. x^3+y^3 и y^3+x^3 это одно и то же...способы представления должны отличаться
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
18.10.2009, 15:57 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

При тестировании Вашего кода видно, что он никогда не закончится. У Вас получается так, что "a" и "b" становяться равными 3, затем "n" становится равной 3, затем a" и "b" становяться равными 4, затем "n" становится равной 4 и т.д.
Вот Ваш исправленый код:
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include<stdio.h>
#include<conio.h>
#include<math.h>
 
void main()
{
int i,n,a,b,c,d;
clrscr();
a=b=c=d=i=n=0;
while(i<1)
{
        while(pow(a, 3)<n && (i<1))
        {
                while(pow(b, 3)<n && (i<1))
                {
                if(pow(a,3)+pow(b,3)==n)
                {
                        while(pow(c, 3)<n && (i<1))
                        {
                                while(pow(d, 3)<n && (i<1))
                                {
                                if((pow(c,3)+pow(d,3)==n)&&(c!=a)&&(c!=b))
                                {
                                printf("n=%d\n",n);
                                if(b<a)
                                printf("x1=%d y1=%d\n",a,b);
                                else
                                printf("x1=%d y1=%d\n",b,a);
                                if(d<c)
                                printf("x2=%d y2=%d\n",c,d);
                                else
                                printf("x2=%d y2=%d\n",d,c);
                                i=1;
                                }
                                d++;
                                }
                        c++;
                        d=1;
                        }
                 }
                 b++;
                 }
        a++;
        b=1;
        }
n++;
a=b=c=d=1;
 
}
 
getch();
}
Я думаю дальше сами разберетесь, особенно если предыдущий код писали сами.
0
5 / 5 / 0
Регистрация: 18.10.2009
Сообщений: 56
19.10.2009, 12:20  [ТС] 6
Уже вижу свои ошибки, спасибо большое за помощь
0
19.10.2009, 12:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2009, 12:20
Помогаю со студенческими работами здесь

Сколькими способами заданное натуральное число N можно представить в виде суммы двух кубов натуральных чисел?
Вот описание задания: Сумма кубов. Сколькими способами заданное натуральное число N можно...

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

Найти натуральное число представимое двумя разными способами суммой кубов двух чисел
Найти натуральное число n, которое подается двумя разными способами суммой кубов двух натуральных...

Число в виде суммы кубов двух натуральных чисел двумя способами
Найти минимальное натуральное число , представимое двумя различными способами в виде суммы кубов...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru