2014: 一生之敌
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 519 Solved: 59
[Submit][Status][Web Board]
Description
Input
第一行输入一个整数T,表示数据组数。
每组数据输入一个整数n。
1 <= T <= 100000
0 <= n <= 10^19
保证结果存在
Output
输出一个整数。
Sample Input
3
2
6
100
Sample Output
6
6
114
题解:
首先要把b进行求解,b = 4乘的平方加上2乘k
数组开到1400000就可以了太大要超出unsigned long long的范围
unsigned long long范围约为10的19 次方,输出yo
#include <iostream>
#include<cstdio>
#define inf 1400000
using namespace std;
unsigned long long ans[inf];
int main()
{
int num;
unsigned long long k;
unsigned long long n;
for( k = 0; k <= inf; k ++){
ans[k] = 4 * k * k * k + 2 * k;
}
scanf("%d", &num);
while(num --){
scanf("%llu", &n);
for( k = 0; k <= inf; k ++){
if(ans[k] >= n){
printf("%llu\n", ans[k]);
break;
}
}
}
return 0;
}