Hackerrank – Popis problému
Celý popis zadania sa nacháza – Hackerrank.
Riešenie
Pre každý test vypočítame 3
rovnice pre čísla od 1
po N
.
Súčet štvorcov:
Súčet na druhú:
Výsledok – rozdiel súčtov:
Vytvoril som riešenie v týchto programovacích jazykoch:
Všetky riešenia sú dostupné aj na mojom GitHub profile.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import java.util.Scanner; public class SumSquareDifference { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int tests = Integer.parseInt(scanner.nextLine()); for (int i = 0; i < tests; i++) { int number = Integer.parseInt(scanner.nextLine()); System.out.println(sumDifference(number)); } scanner.close(); } private static long sumDifference(int number) { long squareSum = 0; long sumSqares = 0; for (int i = 1; i <= number; i++) { squareSum += i; sumSqares += (i * i); } squareSum *= squareSum; return squareSum - sumSqares; } } |