问题背景
给你两个正整数 n n n 和 m m m。
现定义两个整数 n u m 1 num_1 num1 和 n u m 2 num_2 num2,如下所示:
n u m 1 num_1 num1:范围 [ 1 , n ] [1, n] [1,n] 内所有 无法被 m m m 整除 的整数之和。
n u m 2 num_2 num2:范围 [ 1 , n ] [1, n] [1,n] 内所有 能够被 m m m 整除 的整数之和。
返回整数 n u m 1 − n u m 2 num_1 - num_2 num1−num2。
数据约束
- 1 ≤ n , m ≤ 1000 1 \le n, m \le 1000 1≤n,m≤1000
解题过程
按题目要求实现就可以完成,还可以用数学的方法在 O ( 1 ) O(1) O(1) 的复杂度水平下直接算出答案,实际上没太大的必要。
具体实现
class Solution {public int differenceOfSums(int n, int m) {int num1 = 0, num2 = 0;for (int i = 1; i <= n; i++) {num1 += i % m != 0 ? i : 0;num2 += i % m == 0 ? i : 0;}return num1 - num2;}
}