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

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

  • 相关阅读:
    Asp.Net+Oracle+BootStrap+Jquery
    UML类图几种关系的总结
    PHP对象在内存堆栈中的分配
    php sprintf 详解
    微信错误代码45047:客服消息只能发送20条/个用户
    php利用array_search与array_column实现二维数组查找
    mvc 详解
    php中++i 与 i++ 的区分详解
    Git 别名多个命令 超实用
    php 对象继承
  • 原文地址:https://www.cnblogs.com/onlytiancai/p/1717978.html
Copyright © 2011-2022 走看看