sdut2763 好玩的五次方(大数相乘)

来源:互联网 发布:前列腺炎能吃海鲜 知乎 编辑:程序博客网 时间:2024/04/26 06:50

好玩的五次方

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

 给你一些数,让你找出一个最小未在这些数中出现的正整数。并且求出这个数的五次方。

输入

 第一行输入一个n,代表有n个数。(n<1000000)
第二行输入n个数,每个数小于10000000000。

输出

 输出结果

 

示例输入

31 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;}


 

0 0