返回列表 發帖

2021npsc_F_一個遊戲_C++解題

本帖最後由 鄭繼威 於 2022-12-24 11:11 編輯

F.一個遊戲
Problem ID: game
某天,小Y 告訴小P 一個遊戲,那個遊戲叫做⼀個遊戲。
一個遊戲是一個遊戲。一個遊戲是一個一個人玩的遊戲。一個遊戲的玩家必須從 1 開始數
到 N,但必須要跳過一些小 Y 不喜歡的數字。
對於一個正整數 x,以及一個小 Y 會告訴你的正整數 K(K 介於 1 到 9 之間),只要滿足
下列至少一個條件,那麼小Y 就會不喜歡 x 這個數字:
• x 是 K 的倍數。
• x 寫成十進位之後包含 K 這個數字。
否則,小Y 就會喜歡 x 這個數字。
舉例來說,如果 K = 3,那麼 2, 8, 14 都是小 Y 喜歡的數字,而 3, 12, 23 都是小 Y 不喜歡的
數字。
小 P 現在想要開始玩一個遊戲。給定 N 以及 K,請你告訴小 P,在一個遊戲的過程中,他
會跳過多少小 Y 不喜歡的數字。







https://contest.cc.ntu.edu.tw/npsc2021/teamclient/contest_junior.pdf
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. bool check(int x,int k)
  5. {
  6.         if(x%k==0)
  7.                 return true;
  8.         else{
  9.                 while(x>0){
  10.                         if(x%10==k)
  11.                                 return true;
  12.                         x=x/10;                       
  13.                 }      
  14.         }
  15.         return false;
  16. }

  17. int main()
  18. {
  19.         int N,K;
  20.         cin>>N>>K;
  21.         int cnt=0;
  22.         for(int i=1;i<=N;i++){
  23.                 if(check(i,K)==true)
  24.                         cnt++;
  25.         }
  26.         cout<<cnt<<endl;
  27.         return 0;
  28. }
複製代碼
istak.teach2@gmail.com

TOP

返回列表