练习题 | 与7无关的数

题名  与7无关的数

问题描述

一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数。现求所有小于等于n(n < 100)的与7无关的正整数的平方和。

输入数据

输入为一行,正整数n(n < 100)

输出要求

输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。

输入样例

21

输出样例

2336

思考 

被7整除——可以用n%7==0表示;

关键点在于找出某一位上含有7的数字:n%10==7(该数十位含有7);(n/10)%10==7(该数百位含有7);..以此类推(利用循环)

代码如下 

 1 public class NumberSeven {
 2 
 3     public static void main(String[] args) {
 4         // TODO 自动生成的方法存根
 5        //与7无关的数
 6        Scanner scan=new Scanner(System.in);
 7        int n=scan.nextInt();
 8        scan.close();//按要求输入数据
 9        
10        int sum=0;
11        for(int number=1;number<=n;number++){
12            if(number%7!=0&&donotHasSeven(number)){
13                sum=sum+number*number;
14            }
15        }
16        
17        System.out.print(sum);
18     }
19     
20     static boolean donotHasSeven(int number){
21         while(number>0){
22             if(number%10==7)return false;
23             number=number/10;
24         }
25         return true;
26     }
27 
28 }

 

posted @ 2017-10-15 22:52  INGRID23  阅读(660)  评论(0编辑  收藏  举报