1492: 求和

xiaoxiao2021-02-27  587

1492: 求和

时间限制: 1 Sec   内存限制: 128 MB 提交: 8   解决: 5

题目描述

对于正整数n,k,我们定义这样一个函数f,它满足如下规律

f(n,k=1)=-1+2-3+4-5+6...n

f(n,k=2)=-1-2+3+4-5-6...n

f(n,k=3)=-1-2-3+4+5+6...n

f(n,k=4)=-1-2-3-4+5+6+7+8...n

现在给出n和k,你的任务就是要计算f(n,k)的值。

输入

首先是一个整数T,表示有T组数据 接下来每组数据是n和k(1<=n,k<=100000000)

输出

打印出f(n,k)的值,每个输出单独占一行

样例输入

31 12 13 1

样例输出

-11-2

#include <iostream> #include <cstdio> using namespace std; int main(){ int T ; int t; long long sum=0; scanf("%d", &T); long long n, k; while(T--){ t=-1; sum=0; scanf("%lld%lld", &n, &k); for(long long i=1;i<=n;i++){ sum+=i*t; if(i%k==0) t*=-1; } printf("%lld\n", sum); } return 0; }

转载请注明原文地址: https://www.6miu.com/read-7292.html

最新回复(0)