Найти сумму чисел
Пользователь вводит два числа и нужно найти сумму чисел между ними. Пример: 10 и 12, сумма которой будет 33. Но в моём случае программа почему-то всегда даёт сумму на три больше.
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int m = scan.nextInt();
int i = 0;
if(m>n){
while(n-1<m){
n++;
i +=n;
}
System.out.println(i);
}
}
}
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
считайте по формуле арифметической прогрессии
Сумма n первых членов арифметической прогрессии вычисляется как:
(a_1 + a_n)*n/2
в вашем случае это
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int m = scan.nextInt();
System.out.println((n + m)*(m - n + 1)/2);
}
}
ну или по формуле
(n + m)*(m - n + 1)/2 это (10 + 12)*(12 - 10 + 1)/2 = 33