1 条题解

  • 0
    @ 2026-1-29 15:54:53
    #include<bits/stdc++.h>
    using namespace std;
    
    // [1] 存储输入的N个整数(数组大小满足N≤1000的要求)
    int arr[1100];
    // [2] 存储整数的总个数
    int n; 
    
    int main() {
        cin >> n; // [3] 输入整数的总个数N
        // [4] 循环读取N个整数并存储到数组中
        for(int i = 0; i < n; i++) {
            cin>>arr[i];
        }
        int x;
        cin>>x; // [5] 输入要查找的数字x(1~9的一位数)
        int sum=0,sum2=0; // [6] 初始化计数器:sum为符合条件的数的个数,sum2为符合条件的数的总和
        // [7] 遍历所有整数,检查每个数是否包含数字x
        for(int i = 0; i < n; i++) {
            int num=arr[i],flag=0; // [8] 取出当前数,初始化标记flag(0表示未找到x,1表示找到)
    		// [9] 逐位分解当前数,检查是否包含x
    		while(num){
    			if(num%10==x){ // [10] 检查当前数的最后一位是否等于x
    				flag=1; // [11] 找到x,标记为1并跳出循环
    				break;
    			}
    			num/=10; // [12] 去掉当前数的最后一位,继续检查下一位
    		}
    		if(flag){ // [13] 如果当前数包含x
    			sum++; // [14] 符合条件的数的个数加1
    			sum2+=arr[i]; // [15] 累加符合条件的数的总和
    		}
        }
        cout<<sum<<" "<<sum2; // [16] 输出符合条件的数的个数和总和
        return 0;
    }
    
    • 1

    信息

    ID
    1148
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    1
    已通过
    1
    上传者