С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/29: Рейтинг темы: голосов - 29, средняя оценка - 4.59
3 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 138

Найти число такое, что произведение его цифр равняется заданному числу

03.01.2017, 19:12. Показов 5421. Ответов 7

Студворк — интернет-сервис помощи студентам
Дано число 0 < q < 1 000 000 000, являющееся произведением десятичных цифр некоторого числа. Найти само это число. Если вариантов несколько, то выведите наименьшее из них. Число q вводится пользователем с клавиатуры. Программы должна вычислить и распечатать полученное число. Если решение не найдено - выведите -1.
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
#include <iostream>
using namespace std;
 
int main () {
  int number = 0;
  long int num = 0;
  bool key = true;
  
  cin >> number;
  
  while (key) {
    for (int c = 9; c >= 2; c--) {
        if (number%c==0) {
            num *= 10;
            num += c;
            number /= c;
            break;
        }
        if (c==2) {
            key = false;
        }
        if (number<10){
            cout << num;
        }else {
        cout << -1;
    }
    }
   } 
   return 0;    
}
Где ошибка ? Час ломаю голову
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.01.2017, 19:12
Ответы с готовыми решениями:

Найти минимальное число такое, что произведение его цифр равно заданному числу
Дано натуральное число N от 9 до 10^7. Необходимо найти минимальное число k такое, что произведение цифр этого числа равно N. Например, для...

Найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N
Требуется найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N. Входные данные В...

Найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N
Ваша задача — найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N. Исходные...

7
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
03.01.2017, 20:11
Цитата Сообщение от MilkyWay888 Посмотреть сообщение
Где ошибка ?
В чём заключается ошибка?
0
0 / 0 / 0
Регистрация: 11.12.2016
Сообщений: 51
04.01.2017, 14:05
Всем привет ,есть такая задача :

Ваша задача — найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N.

Исходные данные

Целое число N (0 ≤ N ≤ 109).

Результат
Выведите целое число Q. Если такого числа не существует, выведите −1.

Пример

исходные данные
10

результат
25


Я её решил,но на 3 тесте не проходит.Можете помочь найти мою ошибку ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
    long long N,Q = 0,p = 1;
   cin >> N;
   if (N == 0) cout<<10<<endl;
    else if (N == 1) cout<<1<<endl;
    for(long long div = 9; div > 1; --div)
    {
        while( (N%div) == 0)
        {
            Q += p * div;
            p = p * 10;
            N /= div;
        }
    }
(N == 1) ? cout<<Q : cout<< -1;
 
}
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
04.01.2017, 14:15
Цитата Сообщение от Bryan Castle Посмотреть сообщение
на 3 тесте не проходит
Что за тест?
0
0 / 0 / 0
Регистрация: 11.12.2016
Сообщений: 51
04.01.2017, 14:32
если бы знал

Добавлено через 7 минут
я разобрался ,третий тест это1 .Если 1 то должно выходить 1.
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
04.01.2017, 14:39
Цитата Сообщение от Bryan Castle Посмотреть сообщение
Если 1 то должно выходить 1
Программа так и делает. Почему тогда тест не проходит?
0
0 / 0 / 0
Регистрация: 11.12.2016
Сообщений: 51
04.01.2017, 15:37
Вот решение ,может кому интересно.
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
#include <iostream>
 
using namespace std;
 
int main()
{
    long long N,Q = 0,p = 1;
   cin >> N;
   if(N==0)
    {
        cout<<"10"<<endl;
        return 0;
    }
    if(N<10)
    {
        cout<<N<<endl;
        return 0;
    }
    for(long long div = 9; div > 1; --div)
    {
        while( (N%div) == 0)
        {
            Q += p * div;
            p = p * 10;
            N /= div;
        }
    }
  if(N>1)
    {
        cout<<"-1"<<endl;
        return 0;
    }
   cout << Q << endl;
 
    return 0;
}
В предыдущем рещение была ошибка , то есть там когда N = 1 ,показывалось 1, 0 . А надо только 1. Ошибка была в том ,что когда n=1 ,программа должна была остановиться. Поэтому надо поставить return 0.
0
3 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 138
04.01.2017, 16:50  [ТС]
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
#include <iostream>
using namespace std;
 
int main () {
  int number;
  long int num = 0;
  int cah = 0, cah1 = 1;
  bool key = true;
  
  cin >> number;
  
  while (key) 
    for (int c=9; c >= 2; c--) {
        if (number%c==0) {
            cah += c*cah1;
            num += cah;
            number /= c;
            cah = 0;
            cah1 *= 10;
            break;
        }
        if (c==2) {key = false;}
        }
        if (number<10){cout << num;}
        else {cout << -1;}
    
   return 0;    
}
Вот решение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2017, 16:50
Помогаю со студенческими работами здесь

Найти такое число, что сумма его цифр превосходит произведение цифр этого же числа на 1
сумма цифр заданного четырехзначного N превосходит произведение цифр этого же числа на 1. ПОМОГИТЕ ПОЖАЛУЙСТА

Дано четырехзначное число: кратно ли произведение его цифр трем, кратно ли числу а произведение его первых двух цифр?
Дано четырехзначное число. Определить: а) кратно ли произведение его цифр трем; б) кратно ли числу а произведение его первых двух цифр ...

На промежутке от А до В определить количество чисел, сумма цифр равняется заданному числу
На промежутке от А к В, определить количество чисел,сумма цифр равняется заданному числу. Помогите решить проблему! Пожалуйста! ...

Найти трехзначное число, являющееся точным квадратом числа a, и такое, чтобы произведение его цифр было равно a - 1.
Тема Процедуры: Найти трехзначное число, являющееся точным квадратом числа a, и такое, чтобы произведение его цифр было равно a - 1. ...

Найти двузначное число, которое равняется утроенному произведению его цифр
Помогите пожалуйста!! 3.Найти двохзначне число, которое равняется строенном произведению его цифр


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru