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
 
Вход
Входът се чете от конзолата и се състои от едно цяло число в интервала [1…600000].
Изход
На конзолата трябва да се отпечатат всички “магически” числа, разделени с интервал.
Това е моето решение:
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);
                }
                  
            }
        }
    }
}
 
.
Много благодаря :) Усещах , че е нещо много малко , но така и не успях да го видя сам...а то като проследиш логиката на кода и се вижда лесно. Просто ми е убягнало. Отново благодаря!
Моля, няма защо. Успех!
Благодаря!