日历中的数字

2023-11-02

题目描述
ElemenT马上就要毕业了,他打开日历看了看时间。发现日历上的日期都是2017-04-04这样的格式的,月和日如果不足2位数,前面都会补充0。
给定一个年份和月份,ElemenT把那个月的日期都按上述格式写到纸上,他现在想知道某种数字出现了多少次。
输入描述:
多组输入
每组输入一行,有3个数字y,m,x(1000<=y<=3000,1<=m<=12,0<=x<=9),分别代表年份,月份,和他想知道哪个数字出现的次数。
输出描述:
每组输出一个整数,表示数字x在这个月的日期里出现了多少次。
示例1
输入
复制
2017 4 4
2000 1 0
输出
复制
33
我也不知道,2333
说明
第一组样例中,日中有数字4的为2017-04-04,2017-04-14,2017-04-24,4月一共有30天,因为月份中有4,所以数字4一共出现了30 + 3 = 33次
思路:就是一个枚举,找出所有符合的解,我的代码写的比较烂,其实在找的时候可以直接写个函数。用一个数组放每个月的天数。因为二月份的天数与是否是闰年有关,所有要先判断一下x是不是闰年。


#include<bits/stdc++.h>
using namespace std;

int main()
{
    int y,m,x;
    while(cin>>y>>m>>x)
    {
        int ans=0;
        int a[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
        if((y%4==0&&y%100!=0)||(y%400)==0) a[1]=29;
        int count1=0;
        int l=y;
        while(l)
        {
            int s=l%10;
            l=l/10;
            if(s==x) count1++;
        }
        ans += a[m-1]*count1;
        int m1=m;
        if(m1<10)
            m1=m1*10;
        int count2=0;
        while(m1)
        {
            int s=m1%10;
            m1=m1/10;
            if(s==x) count2++;
        }
        ans += a[m-1]*count2;
        int count3=0;
        for(int i=1; i<=a[m-1]; i++)
        {
            int j = i;
            if(j<10)
                j=j*10;
            while(j)
            {
                int s=j%10;
                j=j/10;
                if(s==x) count3++;
            }
        }
        ans +=count3;
        cout<<ans<<endl;
    }
    return 0;
}

改进后的版本

#include<bits/stdc++.h>
using namespace std;
int mon[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
int x;
int fun(int n)
{
    int l=0,cnt=0;
    while(n)
    {
        l++;
        if(n%10==x)
        {
            cnt++;
        }
        n=n/10;
    }
    if(l==1 && x==0)
    {
        cnt++;
    }
    return cnt;
}
using namespace std;
int main()
{
    int i,n,m;
    while(cin>>n>>m>>x)
    {
        int ans=0;
        if( (n%4==0 && n%100!=0 ) || n%400==0)
        {
            mon[2]=29;
        }
        for(i=1; i<=mon[m]; i++)
        {
            ans=ans+fun(n)+fun(m)+fun(i);
        }
        mon[2]=28;
        cout<<ans<<endl;
    }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

日历中的数字 的相关文章

  • RHEL 6 修改网卡名称

    RHEL Redhatenterprise linux 6 修改网卡名称 某些服务器安装redhat 6 4时 会自动把网卡名字设置为em1 em2等等 而不是以前的是eth0 等 但是flexlm只认识eth0的mac地址 不过我在虚拟机
  • Vue报错:Error in v-on handler: “TypeError: Cannot read properties of undefined (reading ‘skuId‘)“

    背景 当点击按钮时候 正常情况控制台的Network应该要发送一个变化量 现在控制台的Network不仅不显示 而且还报错 报错信息如下 vue runtime esm js c320 619 Vue warn Error in v on
  • 亚马逊云科技的区域和可用区概念解释

    对于刚开始接触AWS的用户而言 区域 Region 和可用区 Availability Zone AZ 这两个概念有点不好理解 初次接触时往往不知道它们跟我们日常说的数据中心是什么关系 然而区域和可用区是AWS中非常基础和重要的概念 因此我
  • 解决 jenkins 插件下载失败问题 - 配置 jenkins 插件中心为国内镜像地址

    参考资料 解决 jenkins 插件下载失败问题 配置 jenkins 插件中心为国内镜像地址 从 jenkins 官网上下载的 jenkins 在安装的过程中 会有安装插件一环 第一个为默认安装 第二个为手动 选择默认安装之后 会遇到 安
  • 线程休眠、礼让、等待

    线程的状态 线程中的方法 boolean isAlive 测试线程是否处于活动状态 setPriority int newPriority 更改线程优先级 static void sleep long millis 让指定线程休眠指定的毫秒
  • QML + KDDockWidget 实现 tabwidget效果( 窗口可独立浮动和缩放)

    前言 前面文章介绍过在QML中使用ListView实现TabBar标签拖拽交换位置效果 文章在这里 先在此基础上升级一下 结合KDDockWidget做一个可浮动的窗口效果 关于KDDockWidget的介绍 以前的文章有写过 可参考 qm
  • Tango和ROS在LabVIEW的联合测试

    环境 LabVIEW2018 32位 Tango ROS for LabVIEW Software v2 1 0 2 步骤 目标 变量传递顺序 Tango Client Tango Server ROS Publisher ROS Subs
  • 【MySQL】内置函数

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 一 日期函数 1 函数用法 1 1current date
  • openGL之API学习(五十四)glDepthFunc

    指定深度测试比较的方法 如果满足深度测试条件则赢得深度测试并会被渲染出来 void glDepthFunc GLenum func func Specifies the depth comparison function Symbolic
  • Pytorch数据读取与预处理实现与探索

    在炼丹时 数据的读取与预处理是关键一步 不同的模型所需要的数据以及预处理方式各不相同 如果每个轮子都我们自己写的话 是很浪费时间和精力的 Pytorch帮我们实现了方便的数据读取与预处理方法 下面记录两个DEMO 便于加快以后的代码效率 根
  • Oracle sqlldr的用法 (这个最完整)

    在 Oracle 数据库中 我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法 1 A 表的记录导出为一条条分号隔开的 insert 语句 然后执行插入到 B 表中 2 建立数据库间的 dblink 然后用 create tab
  • 【蓝桥杯】 C++ 成绩统计

    问题描述 小蓝给学生们组织了一场考试 卷面总分为 100 分 每个学生的得分都是一个 0 到 100 的整数 如果得分至少是 60 分 则称为及格 如果得分至少为 85 分 则称为优秀 请计算及格率和优秀率 用百分数表示 百分号前的部分四舍
  • 基于c++实现的对象池(简单测试)

    代码如下 结尾有示例 pragma once include
  • 【Java面试题】计算机网络知识点总结

    计算机网络知识点总结 1 计算机网络体系结构图 1 1 传输层 TCP 和 UDP 的区别和作用 1 2 面向连接 和 面向无连接 的区别 1 3 基于TCP和UDP的有哪些协议 1 4 TCP和UDP协议的使用场景 1 5 TCP 协议如
  • CS231n 2019 Spring

    这份笔记和我结合知乎智能单元 以及B站同济子豪兄的2019年cs231n讲解视频整理完成的 大部分内容引自知乎智能单元 在此感谢智能单元的翻译者和B站同济子豪兄 在笔记中有部分知识点笔者没有完全理解 就先按笔者的理解程度记下来来了 具体查看
  • 如果讲html做成公开链接,如何生成链接

    因为zentaoPHP框架有两种运行方式 所以在生成链接的时候 尽量不要手工拼写链接代码 通过调用系统提供的createLink方法 来生成链接 一 this gt createLink 方法 比如 我们要生成一个blog模块的view方法
  • PHP开发框架laravel代码提示+Phpstorm集成

    PHP开发框架laravel代码提示 Phpstorm集成 laravel代码提示 phpstorm集成 laravel代码提示 虽然安装了插件 但模型还是没有代码提示 可以通过安装插件解决 按照顺序安装 composer require
  • 迈瑞CL6000i全自动化学发光免疫分析仪【双向通讯】

    本次对接通讯使用HL7协议 串口通讯 对接文档下载地址 对接文档https download csdn net download tiegenZ 25241595https download csdn net download tiegen
  • 集简云推出的全国第一款 AI+连接器解决方案产品语聚AI

    语聚AI是集简云推出的全国第一款 AI 连接器解决方案产品 官网 https yuju jijyun cn 语聚AI包括了多个不同的AI功能 协助企业和个人更好的使用AI语言模型所带来的能力 包括 应用助手 希望通过AI智能助手帮助您查询C

随机推荐

  • 图书管理借阅系统前端Vue-----前端页面展示(需源码私信免费)

    图书管理借阅系统 该篇文章展示前端代码 开发环境配置 Mysql MybatisPlus Springboot Shiro Swagger Element 前端开发环境 node js hbuilder 图书管理借阅前端所含模块的功能 1
  • 静态资源访问

    基本介绍 1 只要静态资源放在类路径下 static public resources META INF resources可以被直 接访问 对应文件WebProperties java源码 private static final Str
  • 使用Selenium添加访问cookie, 实现淘宝自动登录

    淘宝在不登录的情况下 许多信息没有显示 而在登录滑块验证时 selenium模拟会被检测出来 所以我们利用手机扫码登录 保存cookies并实现之后登录访问 登录并保存cookie import json from selenium imp
  • 关于STM32H7的16位ADC准确度测试以及使用中的问题

    STM32H7系列的单片机片内集成了16位的ADC 但是在使用过程中发现了许多的问题 下面详细说明一下 1 真的是16bit的ADC吗 其实STM32H7的ADC的有效位达不到16位 这个在手册中也是可以查询到的 使用单端方式的输入有效位只
  • 找不到方法:“!!0[] System.Array.Empty()”解决办法

    找不到方法 0 System Array Empty 解决办法 方法一 推荐 安装 net frameword 4 6 方法二 前言 经浏览资料发现出现过降低工程目标框架导致部分引用出现异常的情况 后续会更新这个文章 也希望大家有遇到类似情
  • sonar——Synchronized classes Vector, Hashtable, Stack and StringBuffer should not be used

    It is better to use their new unsynchronized replacements ArrayList or LinkedList instead of Vector Deque instead of Sta
  • Python 15.网络编程

    循序渐进学Python 15 网络编程 Python 内置封装了很多常见的网络协议的库 因此Python成为了一个强大的网络编程工具 这里是对Python的网络方面编程的一个简单描述 1 常用的网络设计模块 在标准库中有很多网络设计相关的模
  • (四)后端数据增删改查---基于SpringBoot+MySQL+Vue+ElementUI+Mybatis前后端分离面向小白管理系统搭建

    小白做毕设 后台管理系统 任务三 基于SpringBoot MySQL Vue ElementUI Mybatis前后端分离面向小白管理系统搭建 三 后端环境搭建 https blog csdn net wdyan297 article d
  • js中的Symbol数据类型

    最近 在学习vue的过程中碰到了一种从没有遇到过的数据类型 Symbol 查阅资料后 发现这是一种在ES6 中新添加的数据类型 好奇之下研究了下 Symbol 本质上是一种唯一标识符 可用作对象的唯一属性名 这样其他人就不会改写或覆盖你设置
  • org.springframework.data.mongodb.core.query.Criteria

    导包路径 import org springframework data mongodb core query Criteria import org springframework data mongodb core query Quer
  • maven本地仓库有依赖包,还会远程下载的问题

    遇见这样的问题 明明本地有需要的依赖包 但是maven还是会从远程仓库拉取 如果远程仓库有需要的包还好 如果没有 或者无网络环境下没法访问远程仓库 那就直接报错 走不下去了 原因 在本地仓库的每个依赖包都存在这样的文件 remote rep
  • 关于npm install md5报错the command again as root/Administrator的解决办法

    nodejs安装依赖报错 venv PS D pythonProject gt npm install md5 npm ERR code EPERM npm ERR syscall mkdir npm ERR requiredBy npm
  • 回顾Vue&vue-cli

    Vue是一个MVVM Model View ViewModel 前端渐进式框架 框架 核心在于视图与模型的双向绑定 数据发生变化 则视图会发生变化 反之视图发生变化数据也会发生变化 导入vue cdn 基础语法 if else div me
  • Qt/MFC获取主窗口的指针

    在不同的窗口类中 不同的类之间需要互相访问 有时需要知道另一个窗口类的指针来调用他的函数 本文介绍两种方法 如下 Qt 方法1 WId ir WId FindWindow NULL L Target className pM classNa
  • ajax多文件上传插件,jquery多文件上传插件

    jquery imageuploader js是一款jquery多文件上传插件 该jquery多文件上传插件主要用于上传图片 它允许你选择多个图片文件 也可以直接拖拽图片到指定区域 然后显示图片的预览图和信息 最后通过Ajax一次性上传选择
  • 面向对象这么久了,还没找到对象?

    写代码的小伙伴们真幸福啊 想要对象了 没问题 new一个就好了 但是 new太多对象 对象也会生气的哦 你瞧 她来了 从两段代码发现端倪 我们来计算一个矩形的面积 看看这两段代码有什么区别呢 第一段 const height 3 const
  • #R语言# 并行计算-foreach

    最近经常要用R跑程序 每次都要跑好久 不加并行 CPU利用率实在低 在此记录下相关的语句 先导入相关包 library foreach library doParallel library parallel no cores lt dete
  • “执行文化”向“创业文化”的转变( 15年6月)

    社长在15年度事业方针里面提到 事业计划不再是军令 考核事业部的是ROI 这句话 怎么理解 谁也没有解释过 所以我也不太理解具体的内容 但我们可以看看国内的家电企业 比如海尔在做什么 海尔提出过许多新的词汇 网格化 去中心化 海尔开放平台
  • feign-引入-服务之间的调用

    总结 1 导入openfeign的包 2 创建一个接口 FeignClient配置服务的名称 配置调用的服务的url 拷贝调用服务接口过来修改 3 启动类上打上 EnableFeignclients注解 是否配置包的原则 feign所在包和
  • 日历中的数字

    题目描述 ElemenT马上就要毕业了 他打开日历看了看时间 发现日历上的日期都是2017 04 04这样的格式的 月和日如果不足2位数 前面都会补充0 给定一个年份和月份 ElemenT把那个月的日期都按上述格式写到纸上 他现在想知道某种