Приветствую всех сегодня решаем задачу по программированию. Условие задачи: Вывести в массив все натуральные четырехзначные числа, в десятичной записи которых нет одинаковых цифр, и разность двух натуральных двухзначных чисел, составленных из двух последовательных первых цифр и двух последовательных последних цифр числа, равна сумме всех цифр числа.
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 37 38 39 40 41 42 43 44 45 46 47 |
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace Test { class Program { static int SumDigits(int v, out bool HasRepeatableDigits) { int Sum = 0; HasRepeatableDigits = false; byte[] c = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; while (v > 0) { int m = v % 10; Sum += m; v = v / 10; if (++c[m] > 1) HasRepeatableDigits = true; } return Sum; } static void Main(string[] args) { int s, p1, p2; bool b; for (int i = 1000; i <= 9999; ++i) { s = SumDigits(i, out b); if (!b) { p1 = i / 100; p2 = i % 100; if (p1 - p2 == s) Console.WriteLine(i); } } } } } |
Остается только добавить в массив. Альтернативный код решения […]