求和——蓝桥杯

1.求和

题目描述

小明对数位中含有 2、0、1、92、0、1、9 的数字很感兴趣,在 11 到 4040 中这样的数包括 1、2、9、101、2、9、10 至 32、3932、39 和 4040,共 2828 个,他们的和是 574574。

请问,在 11 到 20192019 中,所有这样的数的和是多少?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

2.代码

两个代码,第一个代码中加了布尔函数进行判断,有点多此一举了,但是可以学习一下方法。

#include
using namespace std;
int main()
{
   int sum=0;
   for(int i=0;i<=2019;i++)
   {
     bool flag=false;
     int temp=i;
     while(temp>0)
     {
       int dd=temp%10;
       if(dd==0||dd==1||dd==2||dd==9)
       {
         flag=true;
         break;
       }
       temp=temp/10;
     }
     if(flag==true)
     {
       sum=sum+i;
     }
   }
   cout<

#include
using namespace std;
int main()
{
   int sum=0;
   for(int i=0;i<=2019;i++)
   {
     int temp=i;
     while(temp>0)
     {
       int dd=temp%10;
       if(dd==0||dd==1||dd==2||dd==9)
       {
        sum=sum+i;
         break;
       }
       temp=temp/10;
     }
   }
   cout<

3.break与continue

在写这个代码的时候,忘记了break与continue的用法,接下来进行复习break与continue。

`break` 和 `continue` 是编程中常用的控制流语句,它们在循环结构中起着重要的作用。以下是对 `break` 和 `continue` 用法的详细解释:

 1.break

1. 作用:
   `break` 语句用于立即跳出当前循环,不再执行循环体内剩余的语句。
   如果 `break` 出现在嵌套循环中,它只会跳出最内层的循环。

2. 使用场景:
   当满足某个条件时,需要提前结束循环。
    在查找、搜索等操作中,一旦找到目标元素,就可以使用 `break` 跳出循环。

3. 示例:
   for (int i = 0; i < 10; i++) {
       if (i == 5) {
           break; // 当 i 等于 5 时,跳出循环
       }
       cin>>i;
   }
   // 输出结果:0 1 2 3 4

2.continue

1. 作用:
   `continue` 语句用于跳过当前循环的剩余部分,并立即开始下一次循环迭代。
   如果 `continue` 出现在嵌套循环中,它只会影响最内层的循环。

2. 使用场景:
   - 当满足某个条件时,需要跳过当前循环的剩余部分,但继续执行后续的循环迭代。
   - 在处理数据时,可以对不符合条件的数据进行过滤。

3. 示例:
   for (int i = 0; i < 10; i++) {
       if (i % 2 == 0) {
           continue; // 当 i 是偶数时,跳过本次循环的剩余部分
       }
       cin>>i;
   }
   // 输出结果:1 3 5 7 9

3.注意事项

`break` 和 `continue` 只能用在循环结构中(如 `for` 循环、`while` 循环等),不能用在其他语句中。
 

你可能感兴趣的:(c++,算法,蓝桥杯,数据结构)