C语言:L1-033 出生年 (15分)(解题报告)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                C语言:L1-033 出生年 (15分)(解题报告)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                立志用更少的代碼做更高效的表達
以上是新浪微博中一奇葩貼:“我出生于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
代碼展示
#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; }每日一句
零星的變好,最后也會如星河般閃耀
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的C语言:L1-033 出生年 (15分)(解题报告)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: (解题报告)L1-032 Left-pa
- 下一篇: C语言:L1-034 点赞 (20分)(
