首页 > 其他分享 >L1-033 出生年

L1-033 出生年

时间:2023-04-13 09:33:45浏览次数:32  
标签:输出 年份 数字 setprecision dnum int 出生 L1 033

一、问题描述

 

 

以上是新浪微博中一奇葩贴:“我出生于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)输入出生年份byear和目标年份中不同数字的个数dnum

(2)利用set容器不会重复插入相同元素的特点,将年份中的每个数字插入到set容器中

(3)比较set容器的size()和dnum

(4)若相同,输出当年年份-出生年份和当前年份

三、程序流程图

 

 

四、伪代码实现

五、代码实现

 1 #include <iostream>
 2 using namespace std;
 3 #include <iomanip>
 4 #include <set>
 5 int main()
 6 {
 7     int byear,dnum;
 8     cin>>byear>>dnum;
 9     for(int i=byear;;i++)
10     {
11         set<int>s;
12         int num=i;
13         for(int j=0;j<4;j++)
14         {
15             s.insert(num%10);
16             num=num/10;
17         }
18         if(s.size()==dnum)
19         {
20             cout<<i-byear<<' '<<setfill('0')<<setw(4)<<i;
21             break;
22         }
23     }
24     return 0;
25 }

 

六、总结

(1)set容器不会重复插入相同的元素,可以利用这一特点来统计一个数中不同元素的个数;

(2)setfill(’char‘)和setw(num)配合使用可以设置输出结果的宽度,setfill可以对空白处进行补录字符的操作;

(3)使用setfill和setw函数和setprecision函数需包含<iomanip>头文件;

(4)setprecision()函数可以控制输出结果的保留位数;

例  输出3.1415926

  setprecision(5)       结果3.1415;

  setprecision  (0)     结果3;

 setprecision(1)        结果3;

setprecision(2)         结果3.1;

    

 

标签:输出,年份,数字,setprecision,dnum,int,出生,L1,033
From: https://www.cnblogs.com/lian369/p/17312224.html

相关文章

  • 天梯赛L1-027 出租
    一、问题描述下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3 对应 arr[3]=0,以此类推……很容易得到电话号码是18013820100。本题要......
  • A537CL1化学成分、A537CL1执行标准、A537CL1力学性能
    一、A537CL1钢板简介:A537CL1钢板归属于钢板中的一大类,锅炉容器钢板之一。A537CL1钢板执行的是美国标准,所以也是美标的压力容器锅炉钢板。A537CL1钢板执行标准:执行ASTM标准(美标)。二、A537CL1钢板化学成分:CSiMnPSNiCrMoCuNbVTiAltB≤0.240.15~0.51~1.6≤0.025≤0.025≤0.25≤0.25≤0......
  • 【STL1】容器分类及测试
    //ConsoleApplication2.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。//#pragmawarning(disable:4996)#include<array>#include<ctime>#include<cstdlib>#include<iostream>#defineASIZE100000usingstd::cout;usingstd::cin;us......
  • misc | 解决windows cmd不能正确显示\033彩色字符
    misc|解决windowscmd不能正确显示\033彩色字符今天重装winpwn结果显示的是乱码,很影响,搜了一下发现可以安装一个工具来解决。参考:https://www.cnblogs.com/naiij/p/9772584.html工具:https://github.com/adoxa/ansicon/releases......
  • L15_告诉别人自己想去的地方
    视频资料概述打车的时候,需要告诉司机去哪个地方时,可采用:地名+までお願いします的句式表达自己想要去某个地方,比如:くうこうまでお願いします想要去机场动画会话A:どちらまで您去哪儿?B:猿の温泉までお願いします麻烦你,去野猿温泉。A:はい、わかりました好......
  • 超凡先锋红滩基地出生点位置
    超凡先锋红滩基地处玩家会随机在不同的出生点入场,不同的出生点甚至会直接影响到你这场游戏是否最肥,下面是本站为大家整理的超凡先锋红滩基地出生点位置汇总,希望对你有所帮助。超凡先锋红滩基地出生点位置1、三楼出生点:共三处;2、东区三楼出生点:共三处;3、西区二楼出生点:共2处......
  • Keil Error L121: Improper Fixup解决
    参考链接:ErrorL121:ImproperFixup(silabs.com)主要问题应该是程序太大,可以尽量缩小程序大小,实在不行的话改为Large即可。从小型2K改为大型64K,不再报错。 ......
  • 【230405-2】过定点M(4,2),任意作两条互相垂直的直线l1和l2,分别交xy轴于AB两点,求线段中
    ......
  • SB-RocketMQ-Provider-Consumer20230331
     一、生产者1、pom.xml<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.apache.rocketmq</groupId>......
  • RocketMQ-Windows安装-客户端rocketmq-dashboard 20230331
     一、Windows安装 https://github.com/apache/rocketmq/releases 1、解压rocketmq-all-4.8.0-bin-release.zip到D:\XXXA\rocketmq-all-4.8.0 2、RocketMQ配置环境变量:ROCKETMQ_HOMED:\XXXA\rocketmq-all-4.8.0NAMESRV_ADDRlocalhost:9876 PATH属性增加:......