本文主要是介绍CCF NOI1038 玩扑克,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题链接:CCF NOI1038 玩扑克。
时间限制: 1000 ms 空间限制: 262144 KB
题目描述
又到休息时间了。两个小伙伴要玩扑克牌比大小的游戏:每人分到一种花色的扑克牌,然后每人随机出一张牌,大者胜,最后获胜次数多的人,赢一轮。
不开心的事发生了,玩了一轮后,发现扑克牌竟然少了一张。到底少了几呢?
你能写个程序,快速找到扑克x吗?
输入
输入一行,包括25个用空格分隔的数字(A表示为1,J、Q、K表示为11、12、13)。
输出
输出数字x,表示缺少的扑克牌数字。
样例输入
9 1 13 2 6 10 7 8 3 11 4 1 5 9 10 2 4 3 12 13 11 5 8 6 7
样例输出
12
数据范围限制
问题分析
这个题需要点技巧,更像智力题。
比对26张牌是一种方法,实现起来程序会比较繁杂。
求和是一种好办法,关键是要想到。
程序说明
(略)
- 计算问题可以直接用算法程序来解, 也可以分两步来解。两步的解法是先在数学上考虑,找出比较简单数学公式等,然后再用算法程序来解,这样会简单很多。
- 使用宏定义可以增加程序的可阅读性和可修改性。
参考链接:(略)。
100分通过的C语言程序:
#include <stdio.h>#define TOTAL (1 + 13) * 13
#define N 26int main(void)
{int val, sum, i;sum = 0;for(i=1; i<N; i++) {scanf("%d", &val);sum += val;}printf("%d\n", TOTAL - sum);return 0;
}
这篇关于CCF NOI1038 玩扑克的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!