L1-033 出生年 (15 分)(简单解法)

简介: L1-033 出生年 (15 分)(简单解法)

对于这道题呢,我认为比较简单的方法是用集合来做,我们先来看看集合set的介绍哈:set中所有元素是有序的,且只能出现一次。(比如:我们存入 1233 ,实际集合中实际内容是123 ,因为3只能出现一次)

好,我们读了这道题之后,就会发现用set来解会方便很多。

废话不多说,上代码:(用的dev c++)

#include<bits/stdc++.h>
using namespace std;
int main() {
  int y, n; cin >> y >> n;
  set <int> s;
  for (int i = y;; i++) {
    s.clear();//清空集合
    int t = i;//临时变量 
    for (int j = 1; j <= 4; j++) {
      s.insert(t % 10);//将数存入集合,注意,如果数<1000 也会存入4位数额
      t /= 10;
    }
    if (s.size() == n) {//若集合的size 等于n  满足条件-->输出
      printf("%d %.4d", i - y, i);  break;
    }
  }
  return 0;
}

图片版


相关文章
|
7月前
7-33 出生年 (15 分)
7-33 出生年 (15 分)
72 0
|
6月前
1058 选择题 (20 分)
1058 选择题 (20 分)
|
7月前
|
C语言
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
浙大版《C语言程序设计(第3版)》题目集 练习8-2 计算两数的和与差 (10分)
|
测试技术
L2-003 月饼 (25 分)(贪心)
L2-003 月饼 (25 分)(贪心)
82 0
7-27 兔子繁衍问题(15 分)
7-27 兔子繁衍问题(15 分)
80 0
(二分)1227. 分巧克力
(二分)1227. 分巧克力
79 0
L1-033 出生年 (15 分)
L1-033 出生年 (15 分)
215 0
L1-033 出生年 (15 分)
R7-1 出生年 (15 分)(散列表的应用)
R7-1 出生年 (15 分)(散列表的应用)
91 0
R7-1 出生年 (15 分)(散列表的应用)