Есть основная программа, её надо разбить на основную и подпрограмму - 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;
}