Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3832 Accepted Submission(s): 1885 Problem Description To Chinese people, 8 is a lucky number. Now your task is to judge if a number is lucky. Input The first line contains an integer stands for the number of test cases. Output For each case, output “Lucky number!” if the number is lucky, otherwise output “What a pity!”. Sample Input 2 0 8
Sample Output Lucky number! Lucky number! Author dandelion Source Recommend lcy |
题记:
题目的意思是:
如果一个数字是8的倍数,或数字的总和构成数字是8的倍数,或每个数字的平方的总和是8的倍数,那就称这个数是幸运数字,即Lucky number。
t组数据,每组输入一个数字,判断是否是幸运数字,是就输出“Lucky number!”,不是就输出“What a pity!”。
C++程序如下:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int sum1(int n){
int s=0;
while(n){
s += n%10;
n /= 10;
}
return s;
}
int sum2(int n){
int s=0;
while(n){
s += (n%10)*(n%10);
n /= 10;
}
return s;
}
int main(void){
int t;
cin >> t;
while(t--){
int n;
cin >> n;
if(n%8==0 || sum1(n)%8==0 || sum2(n)%8==0)
cout << "Lucky number!" << endl;
else
cout << "What a pity!" << endl;
}
return 0;
}