本文主要是介绍Bailian4107 19岁生日礼物-Birthday Gift【进制】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
4107:19岁生日礼物-Birthday Gift
总时间限制: 1000ms 内存限制: 65536kB
描述
今天是小红的19岁生日,小明决定给小红买个生日礼物,但是为了突出是19岁的生日,生日礼物的价格必须和19相关。
一个正整数,如果它是19的倍数或者它的十进制表示中某相邻的两位是19,那么它是和19相关的。
你需要帮助小明判断礼物的价格是否和19相关。
输入
第一行是一个正整数n(int范围),表示总共有n个价格。
下面n行,每行是一个正整数p(int范围),代表礼物的价格。
输出
总共n行,第i行代表输入中第i个价格是否和19相关。如果相关,输出”Yes”,否则,输出”No”。
样例输入
4
95
100
3192
2913
样例输出
Yes
No
Yes
No
问题链接:Bailian4107 19岁生日礼物-Birthday Gift
问题简述:(略)
问题分析:
看一个数是不是另外一个数的倍数比较简单,进行取余数计算就可以了。要看一个数中,是否含有连续的数字19,则需要穷尽所有的可能,把所有的连续的2位数取出来看一下就可以了。这需要一个迭代计算,用100取数的余数,就可以取出最右边的2位,判定一下这2位是不是19。用10除一个数,相当于对数进行右移1位。
程序说明:(略)
参考链接:(略)
题记:(略)
AC的C语言程序如下:
/* Bailian4107 19岁生日礼物-Birthday Gift */#include <stdio.h>int main(void)
{int n, a, ans;scanf("%d", &n);while (n--) {scanf("%d", &a);if (a % 19 == 0) ans = 1;else {ans = 0;while (a >= 19) {if(a % 100 == 19) {ans = 1;break;}a /= 10;}}printf(ans ? "Yes\n" : "No\n");}return 0;
}
这篇关于Bailian4107 19岁生日礼物-Birthday Gift【进制】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!