百钱买百鸡


这是个很简单的逻辑,本来没有什么太多值得分享的。并且实现程序网上随处可见,鄙人也并未提出更高深的意见。在闲暇看书时,对比了以下两种实现。发现,其
实数学计算的不定性,可利用计算机的不断重复(筛选)得到想要结果(如第一种实现)。但是,显而易见的是,第一种实现有个复杂度的问题。而第二种实现,是在数学计算推导之后,简化得来,使程序实现更简易。
        我想表达的是,在解决问题的思想上,是否单纯的使用代码实现,还是简化问题,最后以代码实现。毕竟写程序也是为了实现功能,解决问题。希望将来的自己,能不断提升自己解决问题的能力,从思维模式上改变。也希望能帮助到大件。

 C# Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace check
{
     class Program
    {
         static  void Main( string[] args)
        {

             #region 简易算法 算法复杂度O(N^2)
             //for (int cock = 0; cock <= 20; cock++)
             //{
             //    for (int chick = 0; chick <= 99; chick += 3)
             //    {
             //        int hen = 100 - chick - cock;
             //        if (cock * 5 + hen * 3 + chick / 3 == 100)
             //        {
             //            Console.WriteLine("cock={0},hen={1},chick={2}", cock, hen, chick);
             //        }
             //    }
             //}
             #endregion

             //三个变量转换成一个变量
             #region 优化算法 O(N)
 
             //感觉这是数学处理之后再代码实现
             //比如,k<=3.
             //其实感觉复杂问题中,也是可以根据已知条件(数学表达式)
             //推导出k的取值
           for( int k= 0;k<= 3;k++)
            {
                int cock =  4 * k;
                int   hen =  25 -  7 * k;
                int  chick =  75 +  3 * k;
                Console.WriteLine( "cock ={0},hen={1},chick={2}", cock, hen, chick);
            }
             #endregion

     
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值