# 完美平方数

如果整个整数 X 本身是完全平方数，同时它的每一位数字也都是完全平方数，我们就称 X 是完美平方数。  

前几个完美平方数是 0、1、4、9、49、100、144……  

即第 1 个完美平方数是 0，第 2 个是 1，第 3 个是 4，……  

请你计算第 2020 个完美平方数是多少？  

以下程序实现了该功能，请你补全空白处代码：

```c
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long ll;
int base[] = {0, 1, 4, 9};
ll ans;
int tot = 0;
bool fin = false;

void dfs(int pos, int len, ll sum)
{
    if (pos > len)
    {
        if ((ll)(sqrt(sum)) * (ll)(sqrt(sum)) == sum)
        {
            tot++;
            printf("%d %lld\n", tot, sum);
        }
        if (tot == 2020)
        {
            ans = sum;
            fin = true;
        }
        return;
    }
    int start;
    if (pos == 1)
        start = 1;
    else
        start = 0;
    for (int i = start; i < 4 && !fin; i++)
    {
        _____________________;
    }
    return;
}

int main()
{
    ll i;
    tot = 4;
    ll ans;
    int len = 2;
    while (tot < 2020)
    {
        dfs(1, len, 0);
        len++;
    }
    printf("%lld\n", ans);
    return 0;
}
```

## 答案

```c
dfs(pos + 1, len, sum * 10 + base[i]);
```

## 选项

### A

```c
dfs(pos, len, sum * 10 + base[i]);
```

### B

```c
dfs(pos + 1, len, sum + base[i]);
```

### C

```c
dfs(pos, len, sum + base[i]);
```
