C语言:L1-033 出生年 (15分)(解题报告)
生活随笔
收集整理的這篇文章主要介紹了
C语言:L1-033 出生年 (15分)(解题报告)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
立志用更少的代碼做更高效的表達(dá)
以上是新浪微博中一奇葩貼:“我出生于1988年,直到25歲才遇到4個(gè)數(shù)字都不相同的年份。”也就是說,直到2013年才達(dá)到“4個(gè)數(shù)字都不相同”的要求。本題請你根據(jù)要求,自動(dòng)填充“我出生于y年,直到x歲才遇到n個(gè)數(shù)字都不相同的年份”這句話。
輸入格式:
輸入在一行中給出出生年份y和目標(biāo)年份中不同數(shù)字的個(gè)數(shù)n,其中y在[1, 3000]之間,n可以是2、或3、或4。注意不足4位的年份要在前面補(bǔ)零,例如公元1年被認(rèn)為是0001年,有2個(gè)不同的數(shù)字0和1。
輸出格式:
根據(jù)輸入,輸出x和能達(dá)到要求的年份。數(shù)字間以1個(gè)空格分隔,行首尾不得有多余空格。年份要按4位輸出。注意:所謂“n個(gè)數(shù)字都不相同”是指不同的數(shù)字正好是n個(gè)。如“2013”被視為滿足“4位數(shù)字都不同”的條件,但不被視為滿足2位或3位數(shù)字不同的條件。
輸入樣例1:
1988 4
輸出樣例1:
25 2013
輸入樣例2:
1 2
輸出樣例2:
0 0001
代碼展示
#include <stdio.h>int f(int y){int b[10] = {0}, res = 0;b[y % 10] = 1;b[y / 10 % 10] = 1;b[y / 100 % 10] = 1;b[y / 1000] = 1;for(int i = 0; i < 10; i++)if(b[i] == 1) res++;return res; }int main(){int y, n, cnt = 0;scanf("%d%d", &y, &n);while(f(y) != n){cnt++; y++;}printf("%d %04d", cnt, y); return 0; }每日一句
零星的變好,最后也會(huì)如星河般閃耀
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的C语言:L1-033 出生年 (15分)(解题报告)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (解题报告)L1-032 Left-pa
- 下一篇: C语言:L1-034 点赞 (20分)(