字符串组合和最小公倍数和最大公约数问题

本文介绍了一个用于生成给定字符串的所有可能排列的方法,并实现了一个计算两个整数最小公倍数的算法。首先,通过递归方式生成字符串的所有可能组合;其次,使用辗转相除法求得两数的最大公约数,进而得出最小公倍数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  //例如输入字符串abc,则输出由字符a、b、c 所能排列出来的所有字符串
        public static void AllArray(string str, string str2 = "")
        {
            if (str == null)
                return;

            if (str == string.Empty)
                Console.WriteLine(str2);

            for (int i = 0; i < str.Length; i++)
            {

                AllArray(str.Remove(i, 1), str2 + str[i].ToString());

            }
        }


        public static void MinGong()
        {
            int temp1 = int.Parse(Console.ReadLine());
            int temp2 = int.Parse(Console.ReadLine());

            int n1 = Math.Max(temp1, temp2);
            int n2 = Math.Min(temp1, temp2);
            int Mul = n1 * n2;
            int min;
            int m;

            //最大公约数
            while (n2 != 0)
            {
                n1 = n1 > n2 ? n1 : n2;
                m = n1 % n2;
                n1 = n2;
                n2 = m;
            }
            min = Mul / n1;
            Console.WriteLine(n1);
            Console.WriteLine(min);
        }

转载于:https://www.cnblogs.com/dasydong/p/3280954.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值