简单求和
来源:互联网 发布:淘宝的被子能买吗 编辑:程序博客网 时间:2024/05/17 09:00
Description
小Kevin从没有听说过单词“无限”。于是他请导师给他解释这个词。他的导师知道“无限”是一个非常大的数。为了展示无限可能有多大, 他的导师给了他一个挑战: 求从1到 N的数的和。和数开始变得非常大,并且已经超出了“long long int”的表示范围。于是,这一课非常清晰。
现在,他的导师引入了取余的概念并让他只保留余数而非巨大的数。 然后, 导师给了他一个计算的公式:
Input
第一行包含 T, 测试数据的组数。 后跟 T行,每行包含2个空白分隔的整数N m
1 ≤ T ≤ 1000
1 ≤ N ≤ 10^9
1 ≤ m ≤ 10^9
(⊙﹏⊙)
对每组测试数据,输出一行包含一个结果。
Sample Input
3
10 5
10 3
5 5
Sample Output
20
10
10
Hint
测试数据1: N = 10 m = 5,
1%5 + 2%5 + 3%5 + 4%5 + 5%5 + 6%5 + 7%5 + 8%5 + 9%5 + 10%5 = 20.
测试数据2和3可以类似解释。
题意
题解:
把n分为1~m和m~n
AC代码
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;int main(){ int t; scanf("%d",&t); for (int i = 0; i < t; ++i){ ll n,m; scanf("%lld%lld",&n,&m); ll t1 = n/m; ll t2 = n%m; ll ans1 = t1*m*(m-1)/2; ll ans2 = t2*(t2+1)/2; ll ans = ans1+ans2; printf("%lld\n",ans); }return 0;}
阅读全文
0 0
- 简单求和
- 简单求和
- 简单求和
- 简单等差数列的求和
- 简单的数组求和
- 简单的求和
- 多校连萌 简单的求和
- 4-3 简单求和
- 4-3 简单求和
- 简单的求和题
- zzulioj1783简单的求和
- 4-3 简单求和
- 简单序列求和
- FAFU OJ 简单求和
- 1090 简单整数数列求和
- 1098 简单分数数列求和
- while语句简单累加求和
- 阶乘求和的简单算法
- JAVA程序性能优化
- Mac下MySQL环境变量配置
- myeclipse的一些快捷键
- 32_面向对象_05_程序执行过程的内存分析_02
- Flask: 请求-响应
- 简单求和
- <c:set>的两种用法——来源百度百科
- 浅谈C语言指针
- 数据结构绪论
- STM32中对GPIO的配置与使用
- 运算符
- jdbc
- 2017.6.4 入门组 NO.7——K上升段
- 用shell脚本监控进程是否存在 不存在则启动的实例