好玩的五次方
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给你一些数,让你找出一个最小未在这些数中出现的正整数。并且求出这个数的五次方。
输入
第一行输入一个n,代表有n个数。(n<1000000)
第二行输入n个数,每个数小于10000000000。
输出
输出结果
示例输入
3 1 7 2
示例输出
243
#include<stdio.h>
#include<algorithm>
using namespace std;
long long s[1000004];
int t[100];
int main()
{
int i,n,j;
long long min,js,xx,mid;
while(scanf("%d",&n)!=EOF)
{
for(i=0; i<n; i++)
{
scanf("%lld",&s[i]);
}
sort(s,s+n);
if(s[0]!=1)
{
min=1;
}
else
{
for(i=1; i<n; i++)
{
if(s[i]-s[i-1]>1)
{
min=s[i-1]+1;
break;
}
}
if(i==n)
{
min=n+1;
}
}
js=min;
i=0;
while(min)
{
t[i++]=min%10;
min/=10;
}
for(i=1; i<5; i++)
{
mid=0;
for(j=0; j<54; j++)
{
xx=t[j]*js+mid;
t[j]=xx%10;
mid=xx/10;
}
}
for(i=54; i>0; i--)
{
if(t[i])break;
}
for(i; i>=0; i--)
{
printf("%d",t[i]);
}
printf("\n");
}
return 0;
}