• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
mengxm
博客园    首页    新随笔    联系   管理    订阅  订阅
2011年6月16日
欧几里得扩展算法
摘要: 首先证明欧几里德算法(即最大公约数算法)设有a,b两个数;a=k*b+r,r=a%b;假设d是a,b的一个公约数,a%d=0,b%d=0;r=a-k*b,因此r%d=0;即所有a,b的公约数都是b,a%b的公约数,那么gcd(a,b)=gcd(b,a%b);所以当a%b=0时,即a和b的最大公约数就是他们本身;算法代码int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}gcd(a,b)=gcd(b,r0)=gcd(r0,r1)=...=gcd(rn-1,rn)=gcd(rn-1,0)=rn-1. 接下来讲解欧几里得扩展算法(即求n*a+m*b=gcd 阅读全文
posted @ 2011-06-16 21:32 mengxm 阅读(226) 评论(0) 推荐(0)
百度之星初赛A第一题
摘要: 第一题:图标排列百度应用平台上有很多有趣的应用,每个应用都由一个开发者开发,每个开发者可能开发一个或多个应用。百度的工程师们想把应用尽可能好的推荐给用户。研究发现,同一个开发者开发的程序的图标有很大的相似性。如果把同一个开发者开发的应用放在一起,用户很快就会厌倦相似的图标,如果把这些图标穿插摆放效果就会好很多。现在工程师想给用户推荐来自m个开发者的n个应用,在推荐的时候这些应用的图标将排成整齐的一行展示给用户,相邻两个图标之间的距离正好是1,工程师们想让这些图标尽可能的穿插摆放。为了衡量穿插摆放的效果,给每个图标定义一个“分离度”,分离度的值是指当前图标和它左边最近的来自同一个开发者的图标之间 阅读全文
posted @ 2011-06-16 18:55 mengxm 阅读(249) 评论(0) 推荐(0)
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3