您的位置:首页 > 其它

Problem B: 怎么报数? 信息杯班级对抗赛

2014-12-13 13:03 162 查看

Problem B: 怎么报数?

Time Limit: 1 Sec Memory Limit: 128 MB

Submit: 537 Solved: 182

[Submit][Status][Web
Board]

Description

大家一定都玩过报数游戏吧,若干人排成一排,从第1个人开始报数:1、2、3……。

现在,假如你是第n个,主持人说一个数字k,如果n里面含有数字k或者n能被k整除,则要喊“过”,否则喊出数字n。

如果喊错了,要表演节目的哦~~

Input

第一行是一个整数T(T<=100),表示有多少个测试用例,后面每行是一个测试用例。每行有两个正整数n,k。(1<n<2^31,1<k<10)

Output

每个测试用例输出一行,表示你要喊出的内容,如果这个数能喊出,输出这个数;否则,输出“pass”(不带引号)

Sample Input

2 5 3

123 3

Sample Output

5

pass

HINT

这道题目卡了我一段时间,一位题意理解错误:如果n里面含有数字k !这句话的意思是,n中还有k这个字符,并不是n >= k;
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <ctype.h>
int main()
{
long long int n,i,k,t,pd;
scanf("%lld",&t);
char temp[15];
getchar();
while(t--)
{
pd = 1;
memset(temp,0,sizeof(temp));
scanf("%lld%lld",&n,&k);
sprintf(temp,"%lld",n);
for(i = 0;i < strlen(temp);i++)
if(temp[i]- '0' == k)
{pd = 0;break;}
if(pd == 0)
printf("pass\n");
else if(n %k==0)
printf("pass\n");
else
printf("%lld\n",n);
}

return 0;
}

/**************************************************************
Problem: 1300
User: team47
Language: C
Result: Accepted
Time:0 ms
Memory:748 kb
****************************************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: