永发信息网

C# 关于数值分配的算法

答案:1  悬赏:70  手机版
解决时间 2021-12-03 17:58
  • 提问者网友:锁深秋
  • 2021-12-02 20:28
C# 关于数值分配的算法
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-12-02 20:40
不知道你具体的要求严格与否,我写了个算法不算好的,但结果类似
        static void Main(string[] args)
        {
            List lst1 = F(21, 12);
            List lst2 = F(12, 12);
            List lst3 = F(10, 12);
            P(lst1);
            P(lst2);
            P(lst3);
            Console.ReadLine();
        }

        static void P(List lst)
        {
            foreach (int n in lst)
                Console.Write("{0} ", n);
            Console.WriteLine();
        }

        public static List F(int num, int cnt)
        {
            List lst = new List();
            for (int i = 0; i < cnt; i++)
            {
                lst.Add(0);
            }
            int n = num;
            while (n > 0)
            {
                for (int i = 0; i < cnt; i++)
                {
                    lst[i]++;
                    n--;
                    if (n <= 0)
                        break;
                }
            }
            return lst;
        }
追问嗯 先谢了
你的算法我看明白了 按顺序一个一个放 放完一遍这放一遍 直到num放完
ps:
若是第1种情况,实现2 2 2 2 2 2 2 2 2 2 1 0这种结果有什么好算法吗?

谢谢追答你没明确规则。你只是列举了一堆数字。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯