1853 - 小光棍数

最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111,他把这样的数称为小光棍数。他已经知道了第一个小光棍数是471,471的三次方是104487111,现在他想知道第m(m<=10000000000)个小光棍数是多少?

题目输入

有多组测试数据。第一行一个整数n,表示有n组测试数据。接下来的每行有一个整数m。

题目输出

输出第m个小光棍数。

输入/输出样例

题目输入

1
1

题目输出

471

C语言解答

#include<stdio.h>
#include<string.h>
int main()
{
	long long int n;
	scanf("%lld",&n);
	while(n--)
	{
		long long int a;
		scanf("%lld",&a);
		printf("%lld\n",(a-1)*1000+471);
	}
	return 0;
}

C++解答

#include <iostream>
#include <cstdio>
using namespace std;
const int  n=471;
int t;
long long m;
int main()
{
	scanf("%d",&t);
	while(t--)
	{
		scanf("%lld",&m);
		if(m==1)
			printf("%d\n",n);
		else
			printf("%lld%d\n",m-1,n);
	}
	return  0;
}

时间限制 3 秒
内存限制 128 MB
讨论 统计
上一题 下一题