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

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

Войти
Регистрация
Восстановить пароль
 
aki295a
1 / 1 / 0
Регистрация: 28.03.2013
Сообщений: 6
#1

Найти максимальное число которое может быть представлено как сумма степеней 2, 3 и 4 простых чисел - C++

28.03.2013, 13:10. Просмотров 736. Ответов 7
Метки нет (Все метки)

Найти максимальное число, меньшее заданного, которое может быть представлено как сумма степеней 2, 3 и 4 простых чисел (минимальное такое число есть 28 = 2^2+2^3+2^4)

у меня такой вопрос. сам массив с простыми числами у меня есть, но как реализовать выборку максимального? ведь само число может быть не только 3^2+3^3+3^4, но и 5^2+11^3+523^4 ??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2013, 13:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти максимальное число которое может быть представлено как сумма степеней 2, 3 и 4 простых чисел (C++):

Среди простых чисел найти найти такое, в двоичной записи которого максимальное число единиц. - C++
Помогите пожалуйста! Среди простых чисел, не превосходящих n, найти такое, в двоичной записи которого максимальное число единиц.

Среди простых чисел, не превосходящих N, найти такое, в десятичной записи которого максимальное число единиц - C++
Пожалуйста, помогите кто может очень срочно нужно((((

Каким может быть максимальное число строк и столбцов матрицы - C++
Здрасти, функция int** CreateMatrix(int count_row,int count_col) создает двумерный дин. массив, в качестве параметров-количество строк и...

Найти среди простых чисел, попадающих в этот промежуток, такое число, у которого сумма цифр максимальная - C++
1.В функцию передаются границы числового интревала. Найти среди простых чисел, попадающих в этот промежуток, такое число, у которого сумма...

Алгоритм(Найти максимальное совершенное число, которое в то же время меньше введенного N) - C++
Найти максимальное совершенное число, которое в то же время меньше введенного N Справка: Число называется совершенным, если оно...

Найти минимальное и максимальное значение в последовательности простых чисел - C++
1) У меня не работает void main(). >> '::main' must return 'int' Пишешь int main() { return 0; } - работает без...

7
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
28.03.2013, 14:17 #2
а какое число задано? вы не указали. вот и меньше него должна быть сумма чисел со степенями 2, 3 и 4
0
aki295a
1 / 1 / 0
Регистрация: 28.03.2013
Сообщений: 6
28.03.2013, 14:25  [ТС] #3
число не важно, я могу ввести с клавиатуры любое, я не могу понять как мне сделать перебор самих чисел в массиве, веди их множество.
0
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
28.03.2013, 14:26 #4
есть наработки?
0
aki295a
1 / 1 / 0
Регистрация: 28.03.2013
Сообщений: 6
28.03.2013, 14:30  [ТС] #5
да у меня только чтение с файла сделано, я не могу вообще понять как перебрать массив, даже с какой стороны к нему подойти
0
Friday
ну и долго меня небыло...
61 / 57 / 8
Регистрация: 24.03.2013
Сообщений: 173
28.03.2013, 14:36 #6
ну если массив одномерный, то
C++
1
array[*]
где * заменяем на номер элемента в массиве начиная с 0
если хотите, что бы элементы считались с 1, то нужно в массиве первым элементом задать число 0
0
aki295a
1 / 1 / 0
Регистрация: 28.03.2013
Сообщений: 6
28.03.2013, 14:39  [ТС] #7
я не то прошу, я понимаю что такое перебор массива, но элементы то разные будут.
0
avfed
15 / 13 / 2
Регистрация: 24.01.2013
Сообщений: 23
28.03.2013, 17:17 #8
если я правильно понял задание, то получится что то такое
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
    int number;
    cin>>number;
    int i,j,k,im=0,jm=0,km=0;
    int simple[20]={2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, };
    int maxSimple,maxNumber;
    for (i=0;simple[i]*simple[i]<=number;i++){}
    maxSimple= i;
    maxNumber=0;
    int debug;
 
    for (i=0;i<maxSimple;i++)
        for (j=0;j<maxSimple;j++)
            for (k=0;k<maxSimple;k++)
                {
                    debug = pow(simple[i],2)+pow(simple[j],3)+pow(simple[k],4);
                    if ((debug>maxNumber)&&(debug<=number)){maxNumber=debug;im=i;jm=j;km=k;}
                }
 
    cout<<simple[im]<<"^2+"<<simple[jm]<<"^3+"<<simple[km]<<"^4="<<maxNumber<<endl;
 
    return 0;
}
теоретически 2 одинаковых комбинации получиться не должно, если получится, выдаст комбинацию с меньшими индексами
1
28.03.2013, 17:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2013, 17:17
Привет! Вот еще темы с ответами:

Найти максимальное количество простых чисел, идущих подряд - C++
В последовательности целых чисел найти максимальное количество простых чисел, идущих подряд (программа должна содержать логическую функцию,...

15. Создать класс LongLong для работы с целыми числами. Число должно быть представлено двумя полями.Реализовать арифметические операции - C++
Добрый вечер,вот задание: Создать класс LongLong для работы с целыми числами из 64 бит. Число должно быть представлено двумя полями: long...

Найти максимальное из натуральных чисел, не превышающих 5000, которое нацело делится на 39 - C++
Найти максимальное из натуральных чисел, не превышающих 5000, которое нацело делится на 39.

Дан одномерный целочисленный массив А из N элементов. Найти в нём максимальное значение среди простых чисел - C++
Здравствуйте,уважаемые программисты!) Помогите решить,пожалуйста, данную задачку в С++: Дан одномерный целочисленный массив А из N...


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

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

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