编辑代码

using System;
using System.Linq;

public class HelloWorld
{
     static void Main()
    {
        // 目标:找到最大的8位数,数字各不相同,且能被36整除
        // 能被36整除的条件:能被4和9整除
        // 被9整除的条件:数字之和能被9整除
        // 被4整除的条件:最后两位数能被4整除

        // 从最大的可能数开始向下搜索
        for (long num = 98765432; num >= 10234567; num--)
        {
            if (IsDigitsUnique(num) && num % 36 == 0)
            {
                Console.WriteLine($"满足条件的最大八位数是: {num}");
                return;
            }
        }

        Console.WriteLine("未找到满足条件的八位数。");
    }

    // 检查数字的各位是否唯一
    static bool IsDigitsUnique(long num)
    {
        char[] digits = num.ToString().ToCharArray();
        return digits.Distinct().Count() == digits.Length;
    }
}