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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как доделать строки http://www.cyberforum.ru/cpp-beginners/thread1042943.html
Помогите пожалуйста со строками. Конкретно код написал, но не всегда программа работает правильно. после каждого слова вставить точку, тест: (Hello world => Hello. world.). Я не знаю как сделать: (Лишние символы (с 81-ого) отбросить). Зарание спасибо. #include <conio.h> #include <stdio.h> #include <math.h> int main() { clrscr(); int k=0,i,kol1=0; char A, s;
C++ Программа с использованием класса на С++ Добрый вечер! Помогите написать программу, пожалуйста. Вывод фразы Привет Всем! в текстовый файл "2.txt" в две строки (используя endl) Заранее спасибо) http://www.cyberforum.ru/cpp-beginners/thread1042940.html
Массив, буквенный индекс C++
Здрасте,подскажите пож : можно ли сделать индексы в массиве буквами а не только цифрами? Если да ,то как? Добавлено через 21 час 52 минуты Никто не знает?
C++ Многочлен Лагерра
Добрый вечер! Нужна помощь в нахождении ошибки. Вычислить, полузуясь рекуррентными формулами многочлен Лагерра. Вот формула: http://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D1%87%D0%BB%D0%B5%D0%BD%D1%8B_%D0%9B%D0%B0%D0%B3%D0%B5%D1%80%D1%80%D0%B0 #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv) {
C++ функция stricmp http://www.cyberforum.ru/cpp-beginners/thread1042923.html
Требуется написать функцию stricmp, которая сравнивает две строки игнорируя реестр. Возвращает ноль, если строки одинаковы, -1, если первая стоит в алфавитном порядке раньше второй, ну и 1 во всех остальных случаях. Строки задавать с клавиатуры. Ошибок в коде нет, но почему-то при вводе первой строки сравниваются первые две ее буквы (по порядку в алфавиту). Вот сам код, подскажите, пожалуйста,...
C++ Определить число строк прямоугольной матрицы, не содержащих ни одного нулевого элемента Определить число строк прямоугольной матрицы, не содержащих ни одного нулевого элемента. подробнее

Показать сообщение отдельно
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208

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

15.12.2013, 20:59. Просмотров 182. Ответов 0
Метки (Все метки)

Есть задача:
Дано 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. Спасибо, помощи не нужно)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru