[C#] 正整数的非递增和式 →→→→→进入此内容的聊天室

来自 , 2020-12-19, 写在 C#, 查看 152 次.
URL http://www.code666.cn/view/eaa52f33
  1. using System;
  2.  
  3. namespace demo4
  4. {
  5.         class descompose
  6.         {
  7.                 static uint[] iArray = new uint[100];
  8.  
  9.                 public static void Main(String[] args)
  10.                 {
  11.                         uint n = 0;
  12.                         //bool inp = true;
  13.                         Console.WriteLine("Please input a number whose type is unit:");
  14.                         /*while(inp == true)
  15.                         {
  16.  
  17.                                 if(uint.TryParse(Console.ReadLine(),out n) == false)
  18.                                 {
  19.                                         Console.WriteLine("输入不合法!");
  20.                                         inp = true;
  21.                                 }
  22.                                 else
  23.                                 {
  24.                                         iArray[0] = n;
  25.                                         inp = false;
  26.                                         break;
  27.                                 }
  28.                         }*/
  29.               while (!uint.TryParse(Console.ReadLine(),out n))
  30.                         Console.WriteLine("格式不正确,重新输入:\n");
  31.                         iArray[0] = n;
  32.                         uint k = 1;
  33.                         decompose(n,k);
  34.                 }
  35.  
  36.                 private static void decompose(uint n,uint k)
  37.                 {
  38.                         uint i = (n < iArray[k - 1]) ? n : iArray[k - 1];
  39.                         while (i > 0)
  40.                         {
  41.                                 iArray[k] = i;
  42.                                 if(i == n)
  43.                                 {
  44.                                         Console.Write("\r\n{0} = {1}",iArray[0],iArray[1]);
  45.                                         for(uint j = 2; j <= k; j++)
  46.                                         {
  47.                                                 Console.Write("+ {0}",iArray[j]);
  48.                                         }
  49.                             }
  50.                                 else
  51.                                 {
  52.                                         decompose(n - i,k + 1);
  53.                                 }
  54.                                 i--;
  55.                         }
  56.                 }
  57.         }
  58. }

回复 "正整数的非递增和式"

这儿你可以回复上面这条便签

captcha