UVa1583-Digit Generator

来源:互联网 发布:php的exec函数 编辑:程序博客网 时间:2024/05/22 01:48

UVa1583-Digit Generator

思路:

打表法,因为每次重新算很费时间,所以预处理一下,从1开始算把算出来的n放到以n为下标的数组中,这样计算的复杂度就是线性的。

代码:

#include <bits/stdc++.h>#define MAX 100005using namespace std;int a[MAX];int suan(int n){    int ans=n;    while(ans)    {        n+=ans%10;        ans/=10;    }    return n;}int main(){    int n,ans;    cin>>n;    for(int i=0;i<MAX;i++)    {        if(!a[suan(i)])a[suan(i)]=i;    }    while(n--)    {        cin>>ans;        cout<<a[ans]<<endl;    }    return 0;}
原创粉丝点击