Loading...
Termidor avatar Termidor 0 Точки

Coding 101 Exam - 26 March 2016 Задача 06 - Магически числа

Здравйте,

решавайки задачите от изпита на 26 март виждам трудност в 6та задача. Видях авторското решение и го разбрах, но опитвайки се да я реша сам тръгнах по друг път. Така и не мога да разбера къде греша , ако може някой да погледне кода и да ми каже.Условието е следното:

Да се напише програма, която въвежда едно цяло „магическо“ число и изкарва всички възможни 6-цифрени числа, за които произведението на неговите цифри е равно на „магическото“ число.

Пример: „Магическо число“ -> 2

  • 111112 -> 1 * 1 * 1 * 1 * 1 * 2 = 2
  • 111121 -> 1 * 1 * 1 * 1 * 2 * 1 = 2
  • 111211 -> 1 * 1 * 1 * 2 * 1 * 1 = 2
  • 112111 -> 1 * 1 * 2 * 1 * 1 * 1 = 2
  • 121111 -> 1 * 2 * 1 * 1 * 1 * 1 = 2
  • 211111 -> 2 * 1 * 1 * 1 * 1 * 1 = 2

Вход

Входът се чете от конзолата и се състои от едно цяло число в интервала [1600000].

Изход

На конзолата трябва да се отпечатат всички магически” числа, разделени с интервал.

 

Това е моето решение:

 

namespace Задача_06___Магически_числа
{
    class Program
    {
        static void Main(string[] args)
        {
            int magicNumber = int.Parse(Console.ReadLine());
            int proizv = 1;

            for (int i = 100000; i <= 999999; i++)
            {
                
                int n = i;

                do
                {
                    proizv = proizv * (n % 10);
                    n = n / 10;
                } while (n > 0);

                if (proizv == magicNumber)
                {
                    Console.Write("{0} " , i);
                }
                  
            }
        }
    }
}
 

Тагове:
0
Programming Basics
traykova44 avatar traykova44 93 Точки

Здравейте, прегледах тук посоченото решение както и друг тип този  https://pastebin.com/tmmqE598

Не мога да разбера на какъв принцип се решават този тип задачи.

Гледам в едиото решени 999999 , в другото цикъл до 9 .

Не мога да разбера защо 9 .Отговора е 6 числа, има 7 цикъла ,а  for (int x1 = 0; x1 <= 9; x1++)  до 9 ?

Защо?

Благодаря предварително, ако някой може да ми обесни!

0
04/12/2017 15:19:14
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.