Lucky Number

Java 源码解读
Java 集合类源码,JUC 源码解读
wangxiaoming

Lucky Number

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
   
   
   

Total Submission(s): 1644    Accepted Submission(s): 863


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!
题目大意:找到一个数, 这个数可以被 8 整除 或者 这个数各个位上的和可以我被8 整除 或者各个为上的数的平方和可以被 8 整除
解题思路:1) 这个数与8 求余判断是否满足 2)计算各个位的和或者平方和 用循环去做 循环条件是  test / = 10 test 1 = 0; 
再将和进行8 求余, 看是否满足, 之后也就没什么了: 细节问题 不要忘记 continue ,因为没钟情况读可能存在,这种情况不满足,可能会满足下种情况, 其次注意sum1 sum2 初始化的位置, 开始我就是因为这个问题 AC了几次都没通过
代码:
#include<iostream>
#include<cstdio>
using namespace std;

int main()
{
   int t, test;
   int sum1 , sum2 ;
   scanf("%d", &t);
   while(t--)
   {
       sum1 = 0;
       sum2 = 0;
       scanf("%d", &test);
       if(test%8 == 0)
       {
          cout<<"Lucky number!"<<endl;
          continue;
       }
       while(test)
       {
           sum1 += test%10;
           sum2 += (test%10)*(test%10);
           test /= 10;
       }
       if(sum1%8 == 0 || sum2%8 == 0)
       {
           cout<<"Lucky number!"<<endl;
           continue;
       }

       cout<<"What a pity!"<<endl;
    }
    return 0;
}


wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值