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

Из последовательности выбрать такие три числа, у которых произведение всех их цифр является максимальным - C++

Восстановить пароль Регистрация
 
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
15.12.2013, 20:59     Из последовательности выбрать такие три числа, у которых произведение всех их цифр является максимальным #1
Есть задача:
Дано N целых чисел. Из них выбрать такие три числа, у которых произведение всех их цифр является максимальным числом. Вычислить произведение цифр таких чисел.
Входные данные:
Во входном потоке в первой строке записано натуральное число N — количество чисел в последовательности (3 ≤ N ≤ 1Е5). Во второй строке записана сама последовательность из N целых положительных чисел, не превышающих 1E6. Числа перечисляются через пробел.

Выходные данные:
В выходной поток вывести единственное целое число.

Пример входного файла (input.txt):
5
99 12 85 13 76
Пример выходного файла (output.txt):
136080

Есть код, но на 70 процентов тестов не проходит
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
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int a[100000];
    for(int i=1;i<=n;i++)
    {
        string s;
        cin>>s;
        int p=1;
        for(int j=0;j<=s.length()-1;j++)
        {
            int k=s[j];
            p*=k-48;
        }
        a[i]=p;
    }
    sort(a+1,a+n+1);
    cout<<a[n]*a[n-1]*a[n-2]<<endl;
}
Помогите доделать

Добавлено через 5 минут
Простите пожалуйста. Сидел разбирался и понял что разница в типах данных. Нужен был тип long long. Спасибо, помощи не нужно)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 20:59     Из последовательности выбрать такие три числа, у которых произведение всех их цифр является максимальным
Посмотрите здесь:

Цикл: Определить все числа, принадлежат промежутку [10,99], сумма цифр которых является простым числом. C++
C++ Найти числа из интервала от 1 до N-1, для которых произведение всех цифр совпадает с суммой
C++ есть ли среди чисел в диапазоне от А до В такие, произведение цифр которых равно С.
C++ Найти и вывести числа произведение цифр которых равно их сумме!
Найти такие пары натуральных чисел, сумма которых является квадратом некоторого натурального числа C++
Найти сумму/произведение цифр числа, определить является ли оно палиндромом C++
Найти три числа последовательности, сумма которых равняется некоторому числу C++
C++ Найти все трехзначные числа из промежутка, произведение первой и последней цифр которых равно 12

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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