第22014题 单选
补全实现筛选平方数装入负载受限口袋功能的C++代码空缺

小A有一个神奇口袋,可装入平方数,口袋总负载为装入数字之和,总负载不能超过L。给定n个数,从左到右筛选其中的平方数依次装入口袋,输出口袋最终可装入的平方数数量。平方数指整数乘以自身的结果(例如:1、4、9、16…)。

示例: 输入L为100,n为5,接下来的5个数分别是49、19、36、25、73,则口袋里可装入49和36两个平方数,输出2。

待补全代码如下:

#include <iostream>
using namespace std;
int main()
{
    int L,n,cnt = 0,sum = 0;
    cin >> L >> n;
    for(int i=1; i<=n; i++)
    {
        int x;
        bool flag = false;
        cin >> x;
        for(int j=1; j<x; j++)
        {
            if( __①__ )
            {
                flag = true;
                break;
            }
        }
        if(flag == true)
        {
            if( __②__ )
            {
                sum += x;
                cnt++;
            }
            else
            {
                __③__
            }
        }
    }
    cout << cnt;
    return 0;
}

代码截图

A

①:j*j==x;②:sum + x <= L;③:continue;

B

①:*j == x;②:sum + x <= L;③:break;

C

①:x/j==i;②:sum <= L;③:continue;

D

①:x/j==i;②:sum <= L;③:break;