L1-033 出生年(c语言)

news2024/9/25 11:10:28

作者 陈越

单位 浙江大学

以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。

输入格式:

输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2、或3、或4。注意不足4位的年份要在前面补零,例如公元1年被认为是0001年,有2个不同的数字0和1。

输出格式:

根据输入,输出x和能达到要求的年份。数字间以1个空格分隔,行首尾不得有多余空格。年份要按4位输出。注意:所谓“n个数字都不相同”是指不同的数字正好是n个。如“2013”被视为满足“4位数字都不同”的条件,但不被视为满足2位或3位数字不同的条件。

输入样例1:

1988 4

输出样例1:

25 2013

输入样例2:

1 2

输出样例2:

0 0001

 

解题思路:

  1. 首先,我们输入两个整数y和n。
  2. 进入一个无限循环(通过while(1)实现)。
  3. 在每次循环中,我们初始化一个变量count为0,用于计算数字的不同位数。同时,我们使用一个标志数组flag来记录数字的出现情况,初始值都为0。
  4. 如果y小于1000,说明千位数为0,我们将flag[0]标记为1,且count加1。
  5. 我们使用变量t来存储y的值,并通过循环遍历t的各个位数。
  6. 对于t的每一位,我们将它对应的flag数组元素标记为1,并将count加1(仅当该位数字之前未出现过时)。
  7. 如果count等于n,意味着y的每一位数字均不相同且出现次数为n,满足题目要求,我们跳出循环。
  8. 否则,我们将年份year加1,将y加1,继续下一轮循环。
  9. 循环结束后,我们输出年份year和四位数形式的y。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main()
{
    int y, n, year = 0;
  
    // 输入y和n
    scanf("%d %d", &y, &n);
    
    while (1)
    {
        int count = 0;
        int flag[10] = { 0 };
        
        if (y < 1000)
        {
            flag[0] = 1;
            count++;
        }
        
        int t = y;
        
        // 计算y的每一位数字的出现次数
        while (t)
        {
            int s = t % 10;
            
            if (flag[s] == 0)
            {
                flag[s] = 1;
                count++;
            }
            
            t /= 10;
        }
        
        if (count == n)
        {
            break;
        }
        else
        {
            year++;
            y++;
        }
    }
    
    // 输出年份和四位数形式的y
    printf("%d %04d", year, y);
  
    return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/738745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【风险管理】认知风险管理

NLP技术的商业应用 介绍 机器学习 (ML) 应用程序已经无处不在。每天都有关于自动驾驶汽车人工智能、在线客户支持、虚拟个人助理等的新闻。然而&#xff0c;如何将现有的商业实践与所有这些惊人的创新联系起来可能并不明显。一个经常被忽视的领域是应用自然语言处理 (NLP) 和深…

极智AI | cv::cuda::GpuMat数据排布的误区

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多经验分享 大家好&#xff0c;我是极智视界&#xff0c;本文来谈谈 cv::cuda::GpuMat 数据排布的误区。 邀您加入我的知识星球「极智视界」&#xff0c;星球内有超多好玩的项目实战源码下载&#xff0c;链接&#xff1a;…

Tomcat NIO 实现

1. tomcat网络整体架构 来自 https://www.cnblogs.com/cuzzz/p/17499364.html 上图是tomcat整个网络请求模型 Acceptor线程作为监听线程,会通过通过 accept 方法 获取连接&#xff0c;该线程没有使用selector进行多路复用&#xff0c;使用了阻塞式的accept有请求连接后&#x…

UE5《Electric Dreams》项目PCG技术解析 之 PCGCustomNodes详解(二)Look At

继续解析《Electric Dreams》项目中的自定义节点和子图 文章目录 前导文章Look AtExecute with ContextPoint Loop Body使用范例Get Actor Data节点的设置LookAt节点的设置Add节点的设置 小结 前导文章 《虚幻引擎程序化资源生成框架PCG 之 UPCGBlueprintElement源码笔记&…

阿里云轻量应用服务器使用教程(从0到1网站上线)

阿里云轻量应用服务器怎么使用&#xff1f;阿里云百科分享轻量应用服务器从选配、配置建站环境、轻量服务器应用服务器远程连接、开端口到网站上线全流程&#xff1a; 阿里云轻量应用服务器使用教程 轻量应用服务器很火爆因为成本足够低&#xff0c;阿里云2核2G3M带宽轻量服务…

第一批用ChatGPT坐牢的人,都玩的是哪些套路?

通过GPT在短时间内生成完整诈骗话术&#xff0c;套路啊套路 “虚拟角色”可以虚拟客服&#xff0c;还可以虚拟恋人玩杀猪盘 让受害人以为自己“坠入爱河” 套路还是从前的套路 但骗子用上了新的工具 又换上了很多马甲 防不胜防 你以为OpenAI不知道骗子会用这个工具来做坏…

数据库之MySQL数据操作练习

目录 练习内容 worker表要求 创建的表的表结构 表中的数据内容 对数据的操作 1.显示所有职工的基本信息 2.查询所有职工所属部门的部门号&#xff0c;不显示重复的部门号 3.求出所有职工的人数 4.列出最高工和最低工资 5.列出职工的平均工资和总工资 6.创建一个只有职…

深度学习之权重初始化

在深度学习中&#xff0c;神经网络的权重初始化方法( w e i g h t weight weight i n i t i a l i z a t i o n initialization initialization)对模型的收敛速度和性能有着至关重要的影响。说白了&#xff0c;神经网络其实就是对权重参数 w w w的不停迭代更新&#xff0c;以达…

基于Javaweb实现ATM机系统开发实战(五)新增用户功能实现

新增用户非常简单&#xff0c;前端拿到数据传递给后端然后往数据库里一存就完事了~ 首先我们看一下新增用户的页面&#xff1a;add.jsp&#xff0c; 可以看到提交的页面&#xff1a;insert 和方式post&#xff0c;但是少了密码的添加&#xff0c;所以我们手动给他加上&#xf…

阿里云——网站建设:部署与发布(知识点)

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​ 目录 前言 学习目标 1.建站&#xff1a; &#xff08;1&#xff09;建站基本步骤 2.域…

导入Excel数据【EasyPoi实战系列】- 第480篇

历史文章&#xff08;文章累计480&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 【…

Docker操作镜像相关命令

[rootdocker02 ~]# docker image ##查看docker命令 docker image search 搜索镜像, 优先选官方,stars数量多&#xff08;尽量不选择第三方镜像&#xff09; 第三方镜像不支持搜索&#xff0c;特点是特别长。 官方仓库地址&#xff1a;https://hub.docker.com/ 官方仓库 官方镜像…

v-for遍历数组或者对象,渲染结构、v-bind动态设置class和style

&#xff08;一&#xff09;v-for数组变化&#xff08;增加一项&#xff0c;删除一项&#xff09;, 会更新页面吗?那么数组改变后&#xff0c;是如何更新的呢&#xff1f; 1. v-for 作用&#xff1a;可以遍历数组或者对象&#xff0c;用于渲染结构。遍历数组语法&#xff1a…

robotframework之python扩展库编写

通过对robot自动化框架的使用&#xff0c;大大方便了我们做自动化测试。但很多时候官网提供的扩展库并不能满足我们的测试要求&#xff0c;此时就需要我们编写自己的扩展库。这里以ubuntu下使用python编写自定义扩展库举例说明。 最近笔者在做物联网方面的自动化测试&#xff…

FASTADMIN联合查询 搜索

控制器中添加relationSearch开关 控制器里面添加联合查询 MODEL里面添加 js里面添加即可 可以查看数据json 搜索开启searchFileds就可以了

❤️创意网页:生日快乐!穿越奇妙时光的温暖庆祝(HTML+CSS+JS)简单好用

✨博主&#xff1a;命运之光 &#x1f338;专栏&#xff1a;Python星辰秘典 &#x1f433;专栏&#xff1a;web开发&#xff08;简单好用又好看&#xff09; ❤️专栏&#xff1a;Java经典程序设计 ☀️博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;欢迎踏入…

【Linux】使用git 连接到远程gitee仓库

一.创建gitee仓库 登陆到自己的gitee&#xff0c;点击新建仓库 输入仓库名称&#xff0c;注意gitee初次创建仓库时只能设置成私有的 创建后的页面是这样的&#xff0c;复制HTTPS 二.git三板斧 1.安装git 打开xshell&#xff0c;输入命令&#xff1a; yum install git 可以输入…

SpringBoot中集成Flyway实现数据库sql版本管理入门以及遇到的那些坑

场景 Git/ SVN 是代码界的版本控制工具&#xff0c;那么&#xff0c;Flyway 就是一款数据库界的版本控制工具&#xff0c; 它可以记录数据库的变化记录。可能很多公司都是通过人工去维护、同步数据库脚本&#xff0c; 但经常会遇到疏忽而遗漏的情况&#xff0c;举个简单的例…

glob找不到文件而os.listdir可以

前几天遇到了一个问题&#xff0c;就是glob找不到文件而os.listdir可以 /mnt/data/datasets/abc[123]&#xff1a; ├── img_0001.jpg ├──img_0002.jpg代码 import os import glob path /mnt/data/datasets/abc[123] os.listdir(path) glob.glob(os.path.join(path, *.…

ES6: Proxy概念及用法

Proxy如其名&#xff0c; 它的作用是在对象和和对象的属性值之间设置一个代理&#xff0c;获取该对象的值或者设置该对象的值&#xff0c; 以及实例化等等多种操作&#xff0c; 都会被拦截住&#xff0c; 经过这一层我们可以统一处理&#xff0c;我们可以认为它就是“代理器” …