忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 视频 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 1019 | 回复: 2

[其他] Project Euler - 009 [复制链接]

论坛徽章:
4
白羊座
日期:2013-11-05 10:26:09冥斗士
日期:2015-11-17 14:19:55白银圣斗士
日期:2015-11-17 15:13:0815-16赛季CBA联赛之新疆
日期:2016-04-01 09:10:58
发表于 2015-09-28 10:18 |显示全部楼层
本帖最后由 icymirror 于 2015-09-28 10:23 编辑

Problem 009:
A Pythagorean triplet is a set of three natural numbers, a < b < c, for which, a^2 + b^2 = c^2
For example, 3^2 + 4^2 = 9 + 16 = 25 = 5^2.
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product a,b,c.

问题9:
毕达哥拉斯数(勾股数)是三个自然数,他们有关系:a*a + b*b = c*c
例如:3*3 + 4*4 = 25 = 5*5
在1000内有一组毕达哥拉斯数,并且满足:a + b + c = 1000。
试找出这三个数的乘积。

代码:

  1. package main

  2. import (
  3.         "fmt"
  4. )

  5. func Problem009(scope int) int {
  6.         var result int
  7.         for edgec := scope / 3 + 1; edgec < scope / 2; edgec++ {
  8.                 for edgeb := 1; edgeb < edgec; edgeb++ {
  9.                         edgea := scope - edgec - edgeb
  10.                         if (edgea < edgeb && edgeb < edgec) {
  11.                                 if (edgea * edgea + edgeb * edgeb == edgec * edgec) {
  12.                                         result =edgea * edgeb * edgec
  13.                                 }
  14.                         }
  15.                 }
  16.         }
  17.        
  18.         return result
  19. }

  20. func main() {
  21.         fmt.Println("Problem 009 result: ", Problem009(1000))
  22. }
复制代码

论坛徽章:
5
数据库技术版块每日发帖之星
日期:2015-11-27 06:20:00程序设计版块每日发帖之星
日期:2015-12-01 06:20:00每日论坛发贴之星
日期:2015-12-01 06:20:0015-16赛季CBA联赛之佛山
日期:2017-03-26 23:38:0315-16赛季CBA联赛之江苏
日期:2017-07-17 10:08:44
发表于 2017-03-01 10:20 |显示全部楼层
Collison预言Go语言将在两年内称霸云领域

  1. package main

  2. import "fmt"
  3. var puts = fmt.Println

  4. func P009(end int) {
  5.         for c := end / 2; c > 1; c-- {
  6.                 c2 := c * c
  7.                 ab := end - c
  8.                 for b := c - 1; b > ab/2; b-- {
  9.                         if a := ab - b; a*a+b*b == c2 {
  10.                                 puts(a, b, c, "=", a*b*c)
  11.                                 return
  12.                         }
  13.                 }
  14.         }
  15. }

  16. func main() {
  17.         P009(1000)
  18. }
复制代码

论坛徽章:
5
数据库技术版块每日发帖之星
日期:2015-11-27 06:20:00程序设计版块每日发帖之星
日期:2015-12-01 06:20:00每日论坛发贴之星
日期:2015-12-01 06:20:0015-16赛季CBA联赛之佛山
日期:2017-03-26 23:38:0315-16赛季CBA联赛之江苏
日期:2017-07-17 10:08:44
发表于 2017-03-01 10:22 |显示全部楼层
200 375 425 = 31875000
您需要登录后才可以回帖 登录 | 注册

本版积分规则

SACC2017购票7.8折优惠进行时

2017中国系统架构师大会(SACC2017)将于10月19-21日在北京新云南皇冠假日酒店震撼来袭。今年,大会以“云智未来”为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置2大主会场,18个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100余位技术专家及行业领袖来分享他们的经验;并将吸引4000+人次的系统运维、架构师及IT决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年8月2日前

活动链接>>
  

北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP