Just pure mathematics
No need to loop through every number to find the sum or squares or whatever.
#include <stdio.h> #include <stdlib.h> #include <inttypes.h> uint64_t getSumOfSquares(int num); uint64_t getSquareOfSums(int num); int main() { printf("%llu\n", getSquareOfSums(100) - getSumOfSquares(100)); return 0; } uint64_t getSumOfSquares(int num){ return (num*(num+1)*(2*num+1))/6; } uint64_t getSquareOfSums(int num){ uint64_t squares; squares = num * (num + 1) / 2; return squares*squares; }
Answer:
No comments:
Post a Comment