暑假选拔赛02 ---- Ysequence
来源:互联网 发布:js把date转换成字符串 编辑:程序博客网 时间:2024/05/02 15:52
Problem Description
将所有的正整数从小到大列出,然后把其中的完全平方数都去掉,就得到了著名的Yellowstar数列。它的前几项如下:
2,3,5,6,7,8,10……
给出正整数n,请你输出Yellowstar数列的第n项(2算是第1项).
Input
第一行一个正整数T,表示有T组测试数据。
接下来T行每行为一组数据。每行一个正整数n,含义如上。
n<=10^12,T<=10^5。
Output
每组数据一行,输出Yellowstar数列的第n项。
Sample Input
2
10
1048576
Sample Output
13
1049600
解题思路
第 i 和 第 i+1个完全平方数之间,间隔 2i 个数;
Y序列中 第n项前 原本应有 x 个完全平方数: 且满足 x(x+1) = n;
求根公式得 x = -1+sqrt(1+4*n)/2.0;
x 应 向上取整.
最后 ans = n+x;
参考代码
#include <stdio.h>#include <math.h>int main(){ int T; scanf("%d",&T); while (T--){ __int64 n,ans; scanf("%I64d",&n); int t = ceil((-1+sqrt(1+4*n))/2.0); ans = n+t; printf("%I64d\n",ans); } return 0;}
0 0
- 暑假选拔赛02 ---- Ysequence
- 暑假选拔赛02 ---- money
- 暑假选拔赛02 ---- 可行方案
- 暑假选拔赛02 ---- 最大乘积
- 暑假选拔赛02 ---- an easy problem
- 暑假选拔赛01 ---- Chufa
- 暑假选拔赛01 ---- Prime
- 暑假选拔赛01 ---- code
- 暑假选拔赛01 ---- 数字问题
- 暑假培训选拔赛的一道题
- 2010-zzuli暑假集训选拔赛四场总结
- 2013年暑假队内选拔赛题解1
- 2013年暑假队内选拔赛题解2
- 2013年暑假队内选拔赛题解3
- 2013年暑假队内选拔赛题解4
- 暑假
- 暑假
- 暑假
- 性能分析命令详解
- 2.如何创建Activity,启动下一个activity
- CString中Format函数与格式输入与输出
- iOS开发-MJRefresh 上下拉刷新快速集成
- HashMap遍历的两种方式,推荐使用entrySet()
- 暑假选拔赛02 ---- Ysequence
- [LeetCode][Java] Anagrams
- Java学习——传说中的13个规范
- Reverse Nodes in k-Group
- Java自带的线程池ThreadPoolExecutor详细介绍说明和实例应用
- myEclipse8.5下SSH2开发时如何删除antlr-2.7.2包
- CSS实现垂直居中
- Swift之dispatch_source实现多线程定时关闭功能
- 三)Unix文件I/O(2)