1 条题解

  • 0
    @ 2025-8-24 22:41:24

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar LYJ_B_O_Creation
    自己选的路,再荒谬也要走完||无条件互关(暂时)

    搬运于2025-08-24 22:41:24,当前版本为作者最后更新于2023-03-29 17:09:58,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    思路:

    通过题目,我们知道了这道题只需要判断从 11nn 有没有数含有 22001199 中的其中一个,如果有让用来存储的 sumsum 加上这个数即可。

    由于范围不大,所以我们可以直接暴力一个区间内所有的数,然后对每个数的每一位判断,判断出一些满足要求的数,最后输出所有满足要求的数的和就行了。

    代码:

    #include<bits/stdc++.h>
    #define int long long//开long long是个好习惯
    using namespace std;
    bool baozi(int x)
    {
        while(x)
    	{
            int t = x % 10;
            if(t == 2 || t == 0 || t == 1 || t == 9) //数位判断
    		{
    			return true;
    		}
            x /= 10;
        }
        return false;
    }
    signed main()
    {
    	int n , sum = 0;
    	cin >> n;
    	for(int i = 1;i <= n;i++)
    	{
    		if(baozi(i))//如果条件成立, 就让sum加上i
    		{
    			sum += i;
    		}
    	}
    	cout << sum << endl;//最后输出所有满足条件的数的和
    	return 0;
    }
    
    • 1

    信息

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