当前位置:编程学习 > C/C++ >>

HDU3346:Lucky Number

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;
}


 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,