高中生程式解題系統:數數愛明明

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

題目連結 http://zerojudge.tw/ShowProblem?problemid=a216

此題用題目給的公式:
f(n) = n + f(n-1)
g(n) = f(n) + g(n-1)

來導出公式即可,例如 f(n) 的公式為:
f(n) = n * (n + 1) / 2;

請試試看 g(n) 如何導出公式。

程式碼:
#include <cmath>
#include <cstdio>

using namespace std;

int main(void){
 long long fn, gn;
 int n;
    while(scanf("%d", &n) != EOF)
    {
  fn = n * (n + 1) / 2;
  gn = 0;
  for(int i = 1; i <= n; i++)
  {
   gn += ((i * (i + 1)) / 2);
  }

  printf("%llu %llu\n", fn, gn);
    }

    return 0;
}

沒有留言: