7649:我家的门牌号

简介: 总时间限制: 1000ms   内存限制: 65536kB描述我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。
总时间限制: 1000ms   内存限制: 65536kB
描述

我家住在一条短胡同里,这条胡同的门牌号从1开始顺序编号。

若所有的门牌号之和减去我家门牌号的两倍,恰好等于n,求我家的门牌号及总共有多少家。

数据保证有唯一解。

输入
一个正整数n。n < 100000。
输出
一行,包含两个正整数,分别是我家的门牌号及总共有多少家,中间用单个空格隔开。
样例输入
100
样例输出
10 15

问题分析

  本题的用穷举法求解。

  假设总共有k家,我家门牌号为x,那么k(k+1)/2 -2x=n,得k(k+1)-2n=4x>=4(因为x>=1)。

  推导得:(k+1)(k+1) > k(k+1)>=4+2n,最后得:k>sqrt(4+2n)-1。

程序说明

  程序中,尽量减少穷举的数量。

代码一:

 1 #include <stdio.h>
 2 int main(int argc, char *argv[])
 3 {
 4     int k,n,x,sum=1;
 5     
 6     scanf("%d",&n);
 7     //n=100;
 8     for(k=2;k<=n;k++)
 9     {
10         sum=sum+k;
11         if(sum>n&&(sum-n)%2==0) {x=(sum-n)/2;break;}
12     }
13     printf("%d %d\n",x,k);
14     return 0;
15 }

代码二:

 1 #include <iostream>  
 2 #include <cmath>  
 3 using namespace std;  
 4 int main()  
 5 {  
 6     int n, mink, x,k;  
 7   
 8     cin >> n;  
 9   
10     mink = sqrt(4 + 2 * n) - 1;  
11   
12     for(k=mink+1; ;k++)
13     {  
14         if((k * k + k- 2 * n) % 4 == 0)
15         {  
16             x = (k * k + k - 2 * n) / 4;  
17             if(x <= 0)  
18                 continue;  
19             cout << x << " " << k<< endl;  
20             break;  
21         }  
22     }  
23   
24     return 0;  
25 } 

 

相关文章
|
前端开发 Java 关系型数据库
Springboot公交车路线管理系统 毕业设计-附源码
Springboot公交车路线管理系统 毕业设计-附源码
|
6月前
|
C++
C++编程技巧:sort()函数中的greater<int>()参数使用讲解
所以你看,`sort()`函数和 `greater<int>()`的组合就像一个魔法工具箱,可以轻松地完成从大到小的排序任务。希望这个小小的技巧能为你的C++编程之路增添一份乐趣。
236 23
|
7月前
|
传感器 存储 Java
Android 3D效果的实现
本文详细讲解了如何在Android中实现3D效果,基于官方Demo并结合实际需求进行调整。通过传感器(Sensor)获取设备旋转数据,利用OpenGL ES绘制3D立方体,实现了动态旋转的视觉效果。文章分为需求分析、效果展示、实现步骤及源码解析,涵盖传感器注册与注销、OpenGL核心方法使用等内容,适合初学者学习参考。文末附完整代码,便于实践操作。
239 0
Android 3D效果的实现
|
存储 Linux Go
如何在Github上Pull Request的教程
关于如何在GitHub上发起Pull Request(合并请求)的详细教程,包括Fork(分支)、Clone(克隆)、创建新分支、修改代码、提交更改、推送到远程仓库等步骤,并提供了解决权限问题的方法,如创建个人访问令牌(Personal Access Token)。
691 6
|
存储 Java 数据处理
DO/SDO/DTO/VO 都是什么
【5月更文挑战第7天】DO/SDO/DTO/VO 都是什么
399 2
|
弹性计算 Java 应用服务中间件
【最佳实践】Logstash高效的数据索引迁移能力—如何实现从腾讯云Elasticsearch迁移至阿里云
本文为您介绍通过Logstash,将Elasticsearch(简称ES)索引从腾讯云ES迁移至阿里云ES中的方法。
3613 0
【最佳实践】Logstash高效的数据索引迁移能力—如何实现从腾讯云Elasticsearch迁移至阿里云
|
Web App开发 JavaScript 前端开发
使用Nodejs搭建简单的Web网页并实现公网访问
使用Nodejs搭建简单的Web网页并实现公网访问
584 0
使用Nodejs搭建简单的Web网页并实现公网访问
|
Web App开发 定位技术
|
小程序 前端开发
uniapp+node.js(express框架)获取微信小程序的openid
uniapp+node.js(express框架)获取微信小程序的openid
433 0

热门文章

最新文章