題目連結 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;
}
沒有留言:
張貼留言