zoukankan      html  css  js  c++  java
  • 2015安徽省赛 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 <stdio.h>
     3 int main()
     4 {
     5     using namespace std;
     6     long long c,i,j=1,m,n,t=0,rankl=0;
     7     int a;
     8     scanf("%d",&a);
     9     while(scanf("%lld%lld",&m,&n)!=EOF){
    10         if(m==1&&n==1){printf("-1
    ");}
    11         else{
    12         c=m/(2*n);
    13         rankl=n*c*n;
    14         for(i=2*n*c+1;i<=m;i++)
    15         {
    16             t++;
    17             if(t>n)
    18             {
    19                 j++;
    20                 t=1;
    21             }
    22             if((j+2)%2==0)
    23             {
    24                 rankl=rankl+i;
    25             }
    26             else
    27             {
    28                 rankl=rankl-i;
    29             }
    30         }
    31         printf("%lld
    ",rankl);
    32         t=0;rankl=0;j=1;
    33     }}
    34     return 0;
    35 }
    36 /**************************************************************
    37     Problem: 1206
    38     User: 2014217052
    39     Language: C++
    40     Result: 正确
    41     Time:614 ms
    42     Memory:1504 kb
    43 ****************************************************************/
  • 相关阅读:
    return和yield的区别
    基本装饰器
    javascript实例:两种方式实现tab栏选项卡
    javascript实例:路由的跳转
    javascript实例:点亮灯泡
    标签页QTabWidget
    主窗口QMainWindow和启动画面
    各种对话框
    列表视图QlistView
    拆分窗口QSplitter
  • 原文地址:https://www.cnblogs.com/dzzy/p/4692594.html
Copyright © 2011-2022 走看看