蓝桥杯 题库 简单 每日十题 day3

这篇具有很好参考价值的文章主要介绍了蓝桥杯 题库 简单 每日十题 day3。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

蓝桥杯 题库 简单 每日十题 day3,蓝桥杯刷题,蓝桥杯,算法,图论,c语言,c++

01 约数个数

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

1200000 有多少个约数(只计算正约数)。

解题思路
枚举,从1开始一直到1200000本身都作为1200000的除数,如果可以整除,则是它的约数

#include <iostream>
using namespace std;
int main() {
    int n = 1200000;
    int sum = 0;     
    for (int i=1; i<=1200000; i++) {
        if (n % i ==0)
            sum++; 
    }  
    cout << sum;    
    return 0; 
}

02 平方和

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574,平方和是 14362。

注意,平方和是指将每个数分别平方后求和。

请问,在 1 到 2019 中,所有这样的数的平方和是多少?

#include <iostream>
using namespace std;
int main()
{
  long long ans=0;
  int n;
  for(int i=1;i<=2019;i++)
  {
    n=i;
    while(n)
    {
      int m=n%10;
      if(m==2||m==0||m==1||m==9)
      {
        ans+=i*i;
        break;
      }
      n/=10;
    }
  }
  cout<<ans;
  return 0;
}

03 星期一

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

整个 20 世纪(1901 年 1 月 1 日至 2000 年 12 月 31 日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)

#include<stdio.h>
int main()
{
    int i,s=0;
    for(i=1901;i<=2000;i++)
    {
        if(i%4==0&&i%100!=0||i%400==0)
        {
            s++;
        }
    }
    s=(365*100+s);
    printf("%d",s/7);
    return 0;
}

04 猴子分香蕉

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

5 只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。

第 1 只猴子醒来,把香蕉均分成 5 堆,还剩下 1 个,就吃掉并把自己的一份藏起来继续睡觉。

第 2 只猴子醒来,把香蕉均分成 5 堆,还剩下 2 个,就吃掉并把自己的一份藏起来继续睡觉。

第 3 只猴子醒来,把香蕉均分成 5 堆,还剩下 3 个,就吃掉并把自己的一份藏起来继续睡觉。

第 4 只猴子醒来,把香蕉均分成 5 堆,还剩下 4 个,就吃掉并把自己的一份藏起来继续睡觉。

第 5 猴子醒来,重新把香蕉均分成 5 堆,哈哈,正好不剩!

请计算一开始最少有多少个香蕉。

#include<iostream>
using namespace std;
int main()
{
    for(int n=10;;n++)
    {
        int x1=n-n/5-1; //第1只猴子剩下的香蕉数量 
        int x2=x1-x1/5-2;//第2只猴子剩下的香蕉数量 
        int x3=x2-x2/5-3;
        int x4=x3-x3/5-4;
        int x5=x4-x4/5;
        //判断第一只猴子平均分成五份后是否有多余1个香蕉,再判断第二只猴子平均分成五份后是否还剩余2个香蕉,以此类推
        //注意:一定要判断x4是否等于0 ,要确保最后一个猴子能拿到香蕉 
        if(n%5==1&&x1%5==2&&x2%5==3&&x3%5==4&&x4%5==0&&x4!=0)
        {
            cout<<n<<endl;
            return 0;
        }
    }
    return 0;
}

05 合数个数

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

一个数如果除了 1 和自己还有其他约数,则称为一个合数。例如:1,2,3 不是合数,4, 6是合数。

请问从 1 到 2020 一共有多少个合数。

#include <iostream>
using namespace std;
int main()
{
  // 请在此输入您的代码
  int cnt=0;
  for(int i=3;i<=2020;i++){
    for(int j=2;j<i;j++){
      if(i%j==0){
        cnt++;
        break;
      }
    }
  }
  printf("%d",cnt);
  return 0;
}

06 玩具蛇

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝有一条玩具蛇,一共有 16 节,上面标着数字 1 至 16。每一节都是一个正方形的形状。相邻的两节可以成直线或者成 90 度角。

小蓝还有一个 4 × 4 的方格盒子,用于存放玩具蛇,盒子的方格上依次标着字母 A 到 P 共 16 个字母。

小蓝可以折叠自己的玩具蛇放到盒子里面。他发现,有很多种方案可以将玩具蛇放进去。

下图给出了两种方案:

蓝桥杯 题库 简单 每日十题 day3,蓝桥杯刷题,蓝桥杯,算法,图论,c语言,c++

玩具蛇思路:难点是如何用代码抽象出来题目的条件,其实我们可以自己模拟一下放玩具蛇的过程,相邻的节数满足直线和九十度,可以抽象成,下一节的放置是上一节模拟上下左右移动的过程,那么这就是一个dfs的模板题了

#include <iostream>
using  namespace std;
int graph[4][4];
int visited[4][4];
int dx[4] = { 1,-1,0,0 };
int dy[4] = { 0,0,1,-1 };
int ans = 0;
int count1 = 0;
void dfs(int i, int j)
{   
    if (count1 >= 15)
    {
        ans++;
        return;
    }
    for (int k = 0;k < 4; k++)
    {
        int x = i + dx[k];
        int y = j + dy[k];
        if (x >= 0 && x < 4 && y >= 0 && y < 4 && visited[x][y] == 0)
        {
            visited[x][y] = 1;
            count1++;
            dfs(x, y);
            count1--;
            visited[x][y] = 0;
        }
    }
}
int main()
{
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 4; j++)
        {
            visited[i][j] = 1;
            dfs(i, j);
            visited[i][j] = { 0 };
            count1 = 0;
        }
    }
    cout << ans << endl;
    return 0;
}

07 矩形切割

蓝桥杯 题库 简单 每日十题 day3,蓝桥杯刷题,蓝桥杯,算法,图论,c语言,c++

#include<stdio.h>
int main()
{
  int i,a=2019,b=324;
    for(i=1;a!=b;i++)
    {
        if(a>b)a=a-b;
        else b=b-a;
    }
    printf("%d",i);
}

08 美丽的 2

蓝桥杯 题库 简单 每日十题 day3,蓝桥杯刷题,蓝桥杯,算法,图论,c语言,c++

#include <iostream>
using namespace std;
int main()
{
  int n=0;
  for(int i=2;i<=2020;i++)
  {
    int temp=i;
    while(temp>0)
    {
      if(temp%10==2)
      {
        n++;
        break;
      }
      temp/=10;
    }
  }
  cout<<n<<endl;
  // 请在此输入您的代码
  return 0;
}

09 一步之遥

蓝桥杯 题库 简单 每日十题 day3,蓝桥杯刷题,蓝桥杯,算法,图论,c语言,c++
题意
小明有两种操作:操作1,使数字加97,操作2,使数字减127,问小明把0变成1至少要几步?

分析
由贝祖定理可知给予二个整数a、b,必存在整数x、y使得ax + by = gcd(a,b) ,且存在x < b, y < a满足等式。因为gcd(97, 127) = 1,所以可以断定小明可以把0变成1,并且步数在97 + 127步之内。只需要设计一个O(n^2)复杂度的算法即可满足需求。

解法
枚举操作1和操作2的次数,若结果刚好为1,记录为可能答案,在所有可能答案中选一个最小值即可。

提高
扩展欧几里得算法可以快速求得x和y的值。时间复杂度O log(min(a,b))

详见连接 https://blog.csdn.net/destiny1507/article/details/81750874

#include <iostream>
using namespace std;
int main() {
    int ans = 600;//答案必然在600以内
    for (int i = 0; i <= 300; i++) {//枚举操作1
        for (int j = 0; j <= 300; j++) {//枚举操作2
            if (i * 97 - j * 127 == 1) ans = min(ans, i + j);//求最小答案
        }
    }
    printf("%d\n", ans);
    return 0;
}

法二

#include<bits/stdc++.h>
using namespace std;
int main()
{
    //感觉是数学问题
    //列个方程:97x-127y=1. x为F的操作次数,y为B的操作次数
    //所以y=(1+127x)/97;
    int pos=0;
    int x=0,y=0;
    for(int i=1;i<=1000;i++)
    {
        if((1+127*i)%97==0)//遍历找到x
        {
            x=i;
            y=(1+127*i)/97;
            break;
        }
    }
    cout<<x+y;
    return 0;
}

10 煤球数目

蓝桥杯 题库 简单 每日十题 day3,蓝桥杯刷题,蓝桥杯,算法,图论,c语言,c++文章来源地址https://www.toymoban.com/news/detail-718166.html

#include <iostream>
using namespace std;
int main()
{
  int cengshu,first=1,sum=0;            //每层的个数等于上一层的个数加层数//
  for(cengshu=1; cengshu<=100; cengshu++)
  {
       sum=sum+first;
       first=first+(cengshu+1);
  }
  cout<<sum<<endl;
  // 请在此输入您的代码
  return 0;
}

到了这里,关于蓝桥杯 题库 简单 每日十题 day3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯 题库 简单 每日十题 day2

    题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。 小蓝想知道自

    2024年02月07日
    浏览(42)
  • 蓝桥杯 题库 简单 每日十题 day5

    字符计数 题目描述 给定一个单词,请计算这个单词中有多少个元音字母,多少个辅音字母。 元音字母包括a,e,i,o,u,共五个,其他均为辅音字母。 输入描述 输入格式: 输入一行,包含一个单词,单词中只包含小写英文字母。单词中的字母个数不超过100。 输出描述 输出两

    2024年02月07日
    浏览(45)
  • 蓝桥杯 题库 简单 每日十题 day7

    题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐酒。 题目描述 本题为填空题,只需要算出结果

    2024年02月07日
    浏览(44)
  • 蓝桥杯刷题-1

    大家好,我是晓星航。今天为大家带来的是 蓝桥杯刷题 - 1 -单词分析 相关的讲解!😀 题库 - 蓝桥云课 (lanqiao.cn)) 我们先附上整段代码图 这里所包含的所有常量、变量和数组有: s1 - 用来接受我们输入的字符串 a1[] - 用来存放我们26个字母对应出现的次数 a2 - 用来找到我们出

    2024年02月15日
    浏览(36)
  • 蓝桥杯刷题篇①

    前言:hello各位童学们好呀!许久不见!本文为本人的蓝桥杯OJ的刷题笔记!文章隶属于专栏蓝桥杯,该专栏的目的是为了记录自己的刷题记录和学习过程,激励自己不断前行,为明年的ACM、ICPC、蓝桥杯等比赛做足准备,也希望可以帮助到一些同样在刷题道路上的小伙伴们!

    2024年02月09日
    浏览(51)
  • 7.10蓝桥杯刷题

       很巧妙的一道回溯算法的题目 只有两种选择,一个是加入到一集合中去,一个是加入到二集合中去,结束的条件是对应下标的索引值等于A.length的时候,同时满足sum1和sum2都是偶数的情况下 count++; 后序还可以考虑适当的剪枝进行优化,

    2024年02月16日
    浏览(40)
  • 蓝桥杯刷题第二十五天

    题目描述 你有一张某海域 NxN 像素的照片,\\\".\\\"表示海洋、\\\"#\\\"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中\\\"上下左右\\\"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛

    2023年04月09日
    浏览(39)
  • 蓝桥杯刷题第二十三天

    题目描述 小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1。 小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。 这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小

    2023年04月22日
    浏览(49)
  • 蓝桥杯刷题014——求阶乘(二分法)

    蓝桥杯2022省赛题目 问题描述 满足 N ! 的末尾恰好有  K 个 0 的最小的 N 是多少? 如果这样的 N 不存在输出 −1 。 输入格式 一个整数 K 。 输出格式 一个整数代表答案。 样例输入 样例输出 评测用例规模与约定 对于 30% 的数据, 1≤K≤10^6. 对于 100% 的数据, 1≤K≤10^

    2023年04月12日
    浏览(35)
  • 蓝桥杯刷题015——最少刷题数(二分法+前缀和)

    问题描述 小蓝老师教的编程课有  N 名学生 , 编号依次是 1…N  。 第 i 号学生这学期刷题的数量是 Ai​  。 对于每一名学生, 请你计算他 至少 还要再刷多少道题 , 才能使得 全班刷题比他多的学生数不超过刷题比他少的学生数。 输入格式 第一行包含一个正整数 N 。 第二

    2023年04月14日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包