news 2026/3/1 4:42:32

UVa 138 Street Numbers

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
UVa 138 Street Numbers

题目描述

一位计算机程序员住在一条街上,街上的房屋从111开始依次编号。每天晚上她遛狗时,都会随机选择向左或向右走,沿着街道一直走到尽头再折返。某天晚上,她计算了途中经过的房屋的街号之和(不包括自己家),然后另一次朝相反方向走时再次计算了这个和。令她惊讶的是,这两个和竟然相等。尽管这取决于她家的编号和街道上房屋的总数,她还是认为这是一个理想的属性,并决定今后选择的所有房屋都应满足这个条件。

你需要编写程序找出满足条件的房屋编号与街道最末房屋编号的配对。已知的前两个配对是:

6 8 35 49

输入:无输入。

输出:输出101010行,每行包含一对数字,每个数字右对齐在宽度为101010的字段内(格式如上所示)。


题目分析

设:

  • xxx:程序员家的房屋编号
  • yyy:街道上最后一间房屋的编号

房屋编号从111yyy依次递增。当她向左走时,经过的房屋编号为111x−1x-1x1;向右走时,经过的房屋编号为x+1x+1x+1yyy。两次走过的房屋编号之和相等,因此:

∑i=1x−1i=∑i=x+1yi \sum_{i=1}^{x-1} i = \sum_{i=x+1}^{y} ii=1x1i=i=x+1yi


解题思路

利用等差数列求和公式:

(1+(x−1))×(x−1)2=((x+1)+y)×(y−x)2 \frac{(1 + (x-1)) \times (x-1)}{2} = \frac{((x+1) + y) \times (y - x)}{2}2(1+(x1))×(x1)=2((x+1)+y)×(yx)

两边同时乘以222消去分母:

(1+x−1)×(x−1)=(x+1+y)×(y−x)x×(x−1)=(x+y+1)×(y−x) (1 + x - 1) \times (x - 1) = (x + 1 + y) \times (y - x) \\ x \times (x - 1) = (x + y + 1) \times (y - x)(1+x1)×(x1)=(x+1+y)×(yx)x×(x1)=(x+y+1)×(yx)

展开并整理:

x2−x=xy+y+y−x2−xx2−x=xy+2y−x2−x2x2=y2+y2x2=y(y+1) x^2 - x = xy + y + y - x^2 - x \\ x^2 - x = xy + 2y - x^2 - x \\ 2x^2 = y^2 + y \\ 2x^2 = y(y + 1)x2x=xy+y+yx2xx2x=xy+2yx2x2x2=y2+y2x2=y(y+1)

因此,问题转化为:寻找两个相邻的自然数yyyy+1y+1y+1,使得它们的乘积等于某个平方数的两倍。即:

y(y+1)=2x2 y(y+1) = 2x^2y(y+1)=2x2

我们需要找到满足这个等式的整数对(x,y)(x, y)(x,y)


算法实现

我们可以直接枚举yyy,检查y(y+1)/2y(y+1) / 2y(y+1)/2是否为平方数。若是,则对应的xxx即为y(y+1)/2\sqrt{y(y+1) / 2}y(y+1)/2

已知前两个解为(6,8)(6, 8)(6,8)(35,49)(35, 49)(35,49),我们从y=8y = 8y=8开始枚举,直到找到101010个满足条件的配对。


代码实现

// Street Number// UVa ID: 138// Verdict: Accepted// Submission Date: 2016-01-19// UVa Run Time: 0.349s//// 版权所有(C)2016,邱秋。metaphysis # yeah dot net// 设程序员所在家的号码为 x,街道最末房子号码为 y,则根据等差序列求和公式有://// (1 + (x - 1)) * (x - 1) / 2 * 2 = (x + 1 + y) * (y - x) / 2 * 2//// 化简得到://// 2 * x * x = y * y + y = y * (y + 1)//// 问题转化为:求相邻两个自然数,他们的乘积的一半为一个平方数。#include<bits/stdc++.h>usingnamespacestd;intmain(){intpairs=0;longlonginty=8;while(pairs<10){longlongintx=(longlongint)sqrt(y*(y+1)/2);if((2*x*x)==(y*(y+1))){cout<<setw(10)<<x<<setw(10)<<y<<endl;pairs++;}y++;}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/28 20:54:38

计算机毕业设计|基于springboot + vue智能农田管理系统(源码+数据库+文档)

智能农田管理 目录 基于springboot vue智能农田管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue智能农田管理系统 一、前言 博主介绍&…

作者头像 李华
网站建设 2026/2/28 9:51:10

【阿根廷】Docusign 电子签名的合法性指南

电子签名合法性摘要 根据第 25,506 号法律及其后由第 27,446 号法律修订的内容&#xff08;以下统称为“相关法律”&#xff09;&#xff0c;对电子和数字签名以及电子文件进行了规定。2019 年发布的第 182 号监管法令&#xff08;以下简称“第 182 号法令”&#xff09;进一步…

作者头像 李华
网站建设 2026/2/28 22:49:48

5分钟教你如何在HarmonyOS高效中使用sklll

5分钟教你如何在HarmonyOS高效中使用skill 万少&#xff1a;华为HDE、鸿蒙极客 个人主页&#xff1a;https://blog.zbztb.cn/ 2025年参与孵化了20鸿蒙应用、技术文章300、鸿蒙知识库用户500、鸿蒙免费课程2套。 如果你也喜欢交流AI和鸿蒙技术&#xff0c;欢迎扣我。 skill 最近…

作者头像 李华
网站建设 2026/2/28 12:20:29

企业人力资源管理规划战略设计方案(431页PPT)

一、人力资源规划实务 1、人力资源规划基本操作步骤 2、人力规划的内容 3、人力资源规划与组织设计 人力资源规划——规划什么与怎么规划&#xff1f; 二、人力资源战略管理 1、策略性人力资源管理 2、人事决策与人力规则 3、人力资源战略管理案例 三、绩效考核 1、员…

作者头像 李华