从 1 加到 n 的和
给出n,从1加到n。。。注意,n会非常大,这道题只能用数组存储值,拜托大家用一个一维数组,将和的每一位存在一个位中,然后将其输出。。。。
程序代码:
// g++ -Wall -march=corei7-avx -Ofast -msse4.2 -mavx -std=c++11 sum_1_to_n.cpp -lm -lgmp -lgmpxx -o sum_1_to_n #include <iostream> #include <gmp.h> #include <gmpxx.h> using std::cout; using std::cin; using std::endl; int main(void) { mpz_class sum(0); mpz_class n(0); cin >> n; if (n > 1) sum = n * (n + 1) / 2; cout << sum << endl; return 0; }
./sum_1_to_n.exe
555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555
154320987654320987654320987654320987654320987654320987654320987654320987654320987654320987654320987654320987654320987654320987654320956790123456790123456790123456790123456790123456790123456790123456790123456790123456790123456790123456790123456790123456790123456790