题目描述
一年一度的春节联欢晚会又到了小科最喜爱的抽奖环节了,今年的大奖是月球旅行。抽奖流程如下:
首先,所有想要参与抽奖的观众,需要先发送短信到晚会主办方指定的号码。
接着,晚会的每个主持人都会从抽奖箱中抽出一张写着一长串数字的奖券(1<= 数字的长度 <= 10000)。
每个主持人抽奖以后都会公布一批中奖观众,中奖规则是:如果观众的手机号可以整除奖券上的数字,那么该观众就中奖了。
给你每个主持人抽取的奖券上的数字和小科的手机号,请计算小科有没有中奖。
输入格式
第1行:一个正数N,代表晚会主持人的数量(1 <= N <= 100)
第2行:一个长度为11的整数,代表小科的手机号。
第3行到第N+2行,每行一串数字,其中第i+2行的数字代表第i个主持人抽取的奖券上的数字。
输出格式
N行:其中第i行表示按照中奖规则,第i个主持人是否抽中了小科,如果中奖输出“YES”,否则输出"NO”。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstring>
#include<sstream>
#include<bits/stdc++.h>
using namespace std;
int a[100000],c[1000000];
int div(string as,long long b){
string cs;
int al=as.size();
for(int i=1;i<=al;i++){
a[i]=as[i-1]-'0';
}
long long r=0;
for(int i=1;i<=al;i++){
r=r*10+a[i];
c[i]=r/b;
r%=b;
}
return r;
}
int main(){
int n;
cin>>n;
long long b;
cin>>b;
for(int i=1;i<=n;i++){
string as;
cin>>as;
if(div(as,b)==0){
cout<<"YES\n";
}
else{
cout<<"NO\n";
}
}
return 0;
}