zoukankan      html  css  js  c++  java
  • 1206: B.求和

    题目描述 点击这里

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

     

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

    输入

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

    输出

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

    样例输入

    3
    1 1
    2 1
    3 1

    样例输出

    -1
    1
    -2
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 using namespace std;
     5 int main()
     6 {
     7     long long T;
     8     cin>>T;
     9     while(T--)
    10     {
    11         long long n,i,j,k,zu,dui,f,sum=0,s;
    12         cin>>n>>k;
    13         zu=n/k;
    14         dui=zu/2;
    15         sum=dui*k*k;
    16         s=n-dui*2*k;
    17         f=1+dui*2*k;
    18         if(s<=k)
    19         {
    20             for(i=0;i<s;i++)
    21             {
    22                 sum-=f;
    23                 f++;
    24             }
    25         }
    26         else
    27         {
    28             for(i=0;i<k;i++)
    29             {
    30                 sum-=f;
    31                 f++;
    32             }
    33             for(i=0;i<s-k;i++)
    34             {
    35                 sum+=f;
    36                 f++;
    37             }
    38         }
    39         cout<<sum<<endl;
    40     }
    41 }
  • 相关阅读:
    VS中使用svn注意事项
    后端调用WebApi
    抽象工厂模式
    观察者模式
    建造者模式
    外观模式
    模板方法
    原型模式
    工厂方法
    代理模式
  • 原文地址:https://www.cnblogs.com/a1225234/p/4538632.html
Copyright © 2011-2022 走看看