与7无关数的平方和

求解与7无关数的以到算法题

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

输入
输入为一行,正整数n(n < 100)
输出
输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
样例输入
21
样例输出
2336
具体代码实现如下:

public static void main(String[] args) {
     
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        if (m >= 100) {
     
            throw new IndexOutOfBoundsException("超出范围!");
        }
        //初始化数组,根据输入的数字,定义数组大小
        int numArr[] = new int[m];
        //数组赋值
        for (int i = 0; i < numArr.length; i++) {
     
            numArr[i] = i + 1;
        }
        isSevenMultiple(numArr);
        isSevenDigit(numArr);
        System.out.println(power(numArr));

    }
    /**
     * 该方法7的倍数的判断
     * @param array 传入数组参数
     * @return 返回经过处理的参数
     */
    static int[] isSevenMultiple(int[] array){
     
        for (int i = 0; i < array.length; i++) {
     
            if (array[i] % 7 == 0) {
     
                //System.out.println(array[i]);//用于测试
                array[i] = 0;
            }
        }
        return array;
    }

    /**
     * 该方法进行位数数字是否是7的判断
     * @param array 传入数组参数
     * @return 返回处理过的参数
     */
    static int[] isSevenDigit(int[] array){
     
        for (int i = 0; i < array.length; i++){
     
            if(array[i] % 10 == 7){
     
                //System.out.println(array[i]);//用于测试
                array[i] = 0;
            }
        }
        return array;
    }
    /**
     * 求平方和
     * @param array 传入数组
     * @return 返回平方和
     */
    static int power(int[] array){
     
        int sum = 0;
        for (int i = 0; i < array.length; i++){
     
//            sum += array[i]*array[i];
            sum += Math.pow(array[i], 2);
        }
        return sum;
    }

希望能够随大家有所帮助,同时也希望有不同解法的大佬们,能与小白交流,提升自己的能力。

你可能感兴趣的:(与7无关数的平方和)