Есть основная программа, её надо разбить на основную и подпрограмму - C#

Узнай цену своей работы

Формулировка задачи:

Задача: Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N — 1, у которых сумма всех цифр совпадает с суммой цифр данного числа. Если таких чисел нет, то вывести слово «нет». Пример. N = 44. Числа: 17, 26, 35.
int N, d, sum1, sum2, a, i, b,K ;
            N = Convert.ToInt32(Console.ReadLine());
            sum1 = 0;
            sum2 = 0;
            a = N;
            K = 0;
            while (N != 0)
            {
                d = N % 10;
                sum1 = sum1 + d;
                N = N / 10;
            };
            N = a;
 
            for (i = 1; i < N-1; i++)
            {
                b = i;
                while (b != 0)
                {
                    d = b % 10;
                    sum2 = sum2 + d;
                    b =b/10;
                };
                if (sum1 == sum2)
                {
                    Console.WriteLine(i);
                    K=K+1;
                };
                sum2 = 0;
            };
            if (K == 0)
            {
                Console.WriteLine("Нет");
            };
            Console.ReadKey();

Решение задачи: «Есть основная программа, её надо разбить на основную и подпрограмму»

textual
Листинг программы
        static void Main(string[] args)
        {
            int N, d, sum1, sum2, a, i, b, K;
            N = Convert.ToInt32(Console.ReadLine());
            sum1 = 0;
            sum2 = 0;
            a = N;
            K = 0;
            d = 0;
            while (N != 0)
            {
                calculate(ref d, ref sum1, ref N);
            };
            N = a;
 
            for (i = 1; i < N - 1; i++)
            {
                b = i;
                while (b != 0)
                {
                    calculate(ref d, ref sum2, ref b);
                };
                if (sum1 == sum2)
                {
                    Console.WriteLine(i);
                    K = K + 1;
                };
                sum2 = 0;
            };
            if (K == 0)
            {
                Console.WriteLine("Нет");
            };
            Console.ReadKey();
        }
 
        static void calculate(ref int a, ref int sum, ref int b)
        {
            a = b % 10;
            sum = sum + a;
            b = b / 10;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы