Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.72
dirn
Сообщений: n/a
#1

алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе - C++

10.09.2009, 20:23. Просмотров 3121. Ответов 11
Метки нет (Все метки)

требуется написать алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе, для N = 1. . . 20

Добавлено через 13 минут
кому не сложно..помогите решить эту задачу. заранее спасибо!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2009, 20:23     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе
Посмотрите здесь:

C++ Найти первые 120 натуральных чисел, сумма цифр которых равна 10
C++ Вывести наибольшее из целых чисел К,для которых сумма 1+2+...+К будет меньше или равна N, и саму эту сумму.
C++ Сколько существует двухзначных, положительных чисел, сумма цифр которых равна 15
C++ Из чисел от 10 до 99 вывести те, сумма цифр которых равна n
C++ Из чисел от 10 до 99 вывести те, сумма цифр которых равна n
Найти количество чисел в интервале [A, B], у которых сумма цифр равна 8 или 12 C++
Определить количество М-значных натуральных чисел, у которых сумма цифр, стоящих в нечетных разрядах, равна N C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
10.09.2009, 20:38     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #2
Слухай, а что значит "последовательные нечётные"? 3-5 катят, а 3-7 нет?
И для любого нечётного N решений вообще нет. ибо, сумма нечётных чисел даёт чётное, а нечётное в кубе есть нечётное.
И впринципе какой тут алгоритм может быть? В лоб и решать.
Возводишь чётное N в куб. и в цикле отнимаешь от него temp=1. если разность !=temp+2, то следующая итерация с temp+=2. Если разность меньше temp, остановливаем цикл и говорим такой пары нет и переходим к следующему чётному N. если разность N^3-temp==temp+2, то выводим пару.
Чего тут думать, писать надо.
Somebody
2777 / 1591 / 142
Регистрация: 03.12.2007
Сообщений: 4,169
Завершенные тесты: 1
10.09.2009, 20:42     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #3
В чём проблема? Идёшь по N от 1 до 20, возводишь в куб, делишь пополам, если целое и чётное, прибавляешь единицу, вычитаешь единицу - пара чисел (логично, что чтобы вышла заданная сумма, эти числа должны отличаться на единицу от половины).
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
10.09.2009, 20:59     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #4
20**3==8000
Пусть x - нечетное число.
Минимальное x будет 1.
Максимальное x не будет превышать 4000,
так как 3999+(3999+2) == 8000.

В цикле перебираем все x.
sum= x+(x+2);
Вычисляем примерное число n: n2= корень_3_ей_степени( sum );
Далее проверяем что n2*n2*n2 == sum
И проверяем что 1<=n2<=20.
Если все успешно - печатаем x.

Добавлено через 6 минут
Ха - somebody прав - по N перебирать быстрее
Кстати N нужно брать только четные.
Тогда N**3 - всегда делится на 8, на 4, на 2.
И все эти N дадут в итого пару цифр.
Итого будет 10 пар ответов.

Добавлено через 6 минут
Вот
Код
3+5       ==    8 ==  2**3
31+33     ==   64 ==  4**3
107+109   ==  216 ==  6**3
255+257   ==  512 ==  8**3
499+501   == 1000 == 10**3
863+865   == 1728 == 12**3
1371+1373 == 2744 == 14**3
2047+2049 == 4096 == 16**3
2915+2917 == 5832 == 18**3
3999+4001 == 8000 == 20**3
dirn
Сообщений: n/a
11.09.2009, 11:27     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #5
да, но это должно быть написано в С++...то есть програма при вводе одной цифры, на пример N=20..должна выдать 3999+4001
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
11.09.2009, 11:30     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main( void ) {
 
std::cout <<
"3+5       ==    8 ==  2**3\n"
"31+33     ==   64 ==  4**3\n"
"107+109   ==  216 ==  6**3\n"
"255+257   ==  512 ==  8**3\n"
"499+501   == 1000 == 10**3\n"
"863+865   == 1728 == 12**3\n"
"1371+1373 == 2744 == 14**3\n"
"2047+2049 == 4096 == 16**3\n"
"2915+2917 == 5832 == 18**3\n"
"3999+4001 == 8000 == 20**3\n";
 
return 0;
 
}
TanT
эволюционирую потихоньку
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
11.09.2009, 11:34     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #7
odip, жжошь
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
11.09.2009, 12:01     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using std::cout;
using std::endl;
 
/* алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе */
 
int main(){
    int n;
    
    for ( n = 1; n <= 20; n++ ) 
        if ( (n*n*n) % 2 == 0 )
            cout << n << "*" << n << "*" << n << " = " << (n*n*n/2 - 1) << " + " << (n*n*n/2 + 1) << " = " << (n*n*n) << endl;
    return(0);
}
Mozart
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
11.09.2009, 12:14     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #9
C++
1
2
for ( n = 1; n <= 20; n++ ) 
                if ( (n*n*n) % 2 == 0 )
Я бы это заменил на:
C++
1
for ( n = 2; n <= 20; n+=2 )
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
11.09.2009, 12:33     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #10
Mozart, ну написано у него в условии
Цитата Сообщение от dirn Посмотреть сообщение
для N = 1. . . 20
вот я так и сделал. А по логике-то только чётные перебирать конечно быстрее, кто бы спорил.

Добавлено через 12 минут
zim22 Somebody спасибо скажите - решение он написал
Mozart
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
11.09.2009, 12:34     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #11
(n*n*n) % 2 == 0 ну тут тоже можно упростить оставив только n =))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2009, 12:39     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе
Еще ссылки по теме:

C++ Определить количество трехзначных чисел, сумма цифр которых равна n
C++ Написать функцию для определения наличия в файле чисел, у которых сумма цифр целой и дробной части равны
C++ Вывод N целых чисел, сумма которых равна 0
C++ Найти количество N-значных чисел, у которых сумма цифр равна их произведению
C++ Вывести наименьшее из целых чисел К, для которых сумма 1+2 +...+ К будет больше или равна заданному N

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
11.09.2009, 12:39     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе #12
Цитата Сообщение от Mozart Посмотреть сообщение
(n*n*n) % 2 == 0 ну тут тоже можно упростить оставив только n =))
кстати да
Yandex
Объявления
11.09.2009, 12:39     алгоритм для определения любых 2 последовательных нечетных чисел, сумма которых равна N в кубе
Ответ Создать тему
Опции темы

Текущее время: 05:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru