zoukankan      html  css  js  c++  java
  • 给你一个数N,让你求出 这样的组合A,B,C,A,B,C要满足如下条件:A*A + B*B = C*C,A+B+C<=N

    代码
                int n = 100;
                Action
    <intint, Action<int>> myfor = (start, end, callback) => {
                    
    for (int i = start; i < end; i++) {
                        callback(i);
                    }
                };

                myfor(
    1, n, (a) => myfor(1, n, (b) => myfor(1, n, (c) => {
                    
    if (a * a + b * b == c * c)
                        Console.WriteLine(
    "a:{0},b:{1},c:{2},n:{3}", a, b, c, n);
                })));

                
    for (int a = 1; a < n; a++) {
                    
    for (int b = 1; b < n; b++) {
                        
    for (int c = 1; c < n; c++) {
                            
    if (a * a + b * b == c * c)
                                Console.WriteLine(
    "a:{0},b:{1},c:{2},n:{3}", a, b, c, n);
                        }
                    }
                }

                var r 
    = from a in Enumerable.Range(1, n)
                        from b 
    in Enumerable.Range(a, n)
                        from c 
    in Enumerable.Range(b, n)
                        
    where a + b + c < n &&
                        a 
    * a + b * b == c * c
                        select 
    new { A = a, B = b, C = c };
                
    foreach (var item in r) {
                    Console.WriteLine(
    "a:{0},b:{1},c:{2},n:{3}", item.A, item.B, item.C, n);
                }

    给你一个数N,让你求出 这样的组合A,B,C,A,B,C要满足如下条件:A*A + B*B = C*C,A+B+C<=N

    最后一种方法的结果和前两种的结果不一样,不知道为啥。

  • 相关阅读:
    操作系统设计与实现 读笔(2)
    操作系统设计与实现 读笔(1)
    C++历史及优点
    套接字Socket——TCP、UDP通信
    Unix环境_进程管理
    Unix环境_信号处理机制
    排序算法汇总
    TCP/IP体系结构
    数据库模式——三级模式两级映像
    杨辉三角形的递归实现
  • 原文地址:https://www.cnblogs.com/onlytiancai/p/1717978.html
Copyright © 2011-2022 走看看