彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。
输入格式:
输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。
输出格式:
对每张彩票,如果它是幸运的,就在一行中输出
You are lucky!
;否则输出Wish you good luck.
。输入样例:
2 233008 123456
输出样例:
You are lucky! Wish you good luck.
实现代码如下:
#include<iostream> #include<string> using namespace std; int f(string str, int idx1, int idx2) {//功能:将str字符串的下标为idx1到idx2(包括idx1,idx2)转换为数字然后相加) int sum = 0; for (; idx1 <= idx2; idx1++) { sum += str[idx1] - '0'; } return sum; } int main(void) { int n; cin >> n; for (int i = 0; i < n; i++) { getchar(); string str; cin >> str; if (f(str, 0, 2) == f(str, str.length() - 3, str.length() - 1)) { cout << "You are lucky!" << endl; } else cout << "Wish you good luck." << endl; } }