http://acm.hdu.edu.cn/showproblem.php?pid=3346
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!
#include<iostream> #include<cstdio> #include<cmath> using namespace std; int main() { int t; cin>>t; while(t--) { int n,s=0; cin>>n; int temp=n; if(n%8==0) { cout<<"Lucky number!"<<endl; continue; } while(temp) { s+=temp; temp/=10; } if(s%8==0) { cout<<"Lucky number!"<<endl; continue; } temp=n,s=0; while(temp) { s+=pow(temp,2); temp/=10; } if(s%8==0) { cout<<"Lucky number!"<<endl; continue; } cout<<"What a pity!"<<endl; } return 0; }