zoukankan      html  css  js  c++  java
  • 取一个任意数所有 和的等式

    前几天,同学给出了一个算法题

     随便输入一个数,输出 相加等于这个数的所有等式,而且加数不能重复

      例如:6

      6=1+5;

      6=2+4;

      6=1+2+3;

      --------------------------------

      程序如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace _111301
    {
        class Program
        {
            static int total = 0;
            static void Main(string[] args)
            {
                Console.WriteLine("请输入数字:");
                int Num = 0;
                Num =Convert.ToInt32(Console.ReadLine().ToString());
                Console.WriteLine("-----------------等式如下:-------------------");
                for (int i = 1; i < (Num % 2 == 0 ? Num / 2 : Num / 2 + 1);i++ )
                {
                    PrintNum(Num.ToString() + "=" + i.ToString(), i, i, Num);
                }
                Console.WriteLine("------------共计:"+total.ToString()+"个-------------------------");
                Console.ReadKey();
            }
            /// <summary>
            /// 打印数字
            /// </summary>
            /// <param name="preInfo">此数字前面数字</param>
            ///  /// <param name="preInfo">此前数字和</param>
            /// <param name="flagNum">当前标志数字</param>
            /// <param name="maxNum">输入数字</param>
            private static void PrintNum(string preInfo,int preTotal,int flagNum,int maxNum)
            {
                Console.WriteLine(preInfo + "+" + (maxNum - preTotal).ToString());
                total++;
                for (int i = flagNum + 1; i <= (maxNum - preTotal - 1) / 2; i++)
                {
                    string tempPreInfo = preInfo;
                    int tempPreTotal = preTotal;
                    tempPreTotal += i;
                    tempPreInfo += "+" + i.ToString();
                    if (i<=maxNum-preTotal-1)
                    {
                        PrintNum(tempPreInfo, tempPreTotal, i, maxNum);
                    }else{
                        continue;
                    }
                }

            }
        }
    }

    ---------------------------------------------------------------------------

  • 相关阅读:
    启动窗体的程序控制与动画效果
    在线程中使用定时器
    从oracle9i/92数据库中导出数据至 oracle 8.1.7 数据库中
    收集:PowerDesigner常见问题解决与设置集锦
    [转]C# 2.0新特性与C# 3.5新特性
    COM服务器的创建过程
    [原创] 为什么需要TLS(Thread Local Storage)?
    COM+服务器的.Net组件实现 客户端
    如何在客户端避免繁冗的服务器GUID定义及导入?
    进程、线程、套间和环境
  • 原文地址:https://www.cnblogs.com/xianzuoqiaoqi/p/1605315.html
Copyright © 2011-2022 走看看