Problem Description
To Chinese people, 8 is a lucky number. Now your task is to judge if a number is lucky.
We say a number is lucky if it’s a multiple of 8, or the sum of digits that make up the number is a multiple of 8, or the sum of every digit’s square is a multiple of 8.
Input
The first line contains an integer stands for the number of test cases.
Each test case contains an integer n (n >= 0).
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!
一開始沒有注意到每個數字的平方數的和
[cpp]
#include <stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int a,flag = 0,sum1 = 0,sum2 = 0;
scanf("%d",&a);
if(a%8 == 0)
flag = 1;
else
{
while(a)
{
sum1+=a%10;
sum2+=(a%10)*(a%10);
a/=10;
}
if(sum1%8 == 0)
flag = 1;
else if(sum2%8 == 0)
flag = 1;
}
if(flag)
printf("Lucky number!\n");
else
printf("What a pity!\n");
}
return 0;
}
#include <stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int a,flag = 0,sum1 = 0,sum2 = 0;
scanf("%d",&a);
if(a%8 == 0)
flag = 1;
else
{
while(a)
{
sum1+=a%10;
sum2+=(a%10)*(a%10);
a/=10;
}
if(sum1%8 == 0)
flag = 1;
else if(sum2%8 == 0)
flag = 1;
}
if(flag)
printf("Lucky number!\n");
else
printf("What a pity!\n");
}
return 0;
}