【codeforces】(等差数列及等比数列求和)
来源:互联网 发布:linux 启动顺序 编辑:程序博客网 时间:2024/04/28 21:52
Description
In this problem you are to calculate the sum of all integers from 1 to n, but you should take all powers of two with minus in the sum.
For example, for n = 4 the sum is equal to - 1 - 2 + 3 - 4 = - 4, because 1, 2 and 4 are 20, 21 and 22 respectively.
Calculate the answer for t values of n.
Input
The first line of the input contains a single integer t (1 ≤ t ≤ 100) — the number of values of n to be processed.
Each of next t lines contains a single integer n (1 ≤ n ≤ 109).
Output
Print the requested sum for each of t integers n given in the input.
Sample Input
241000000000
-4499999998352516354
Hint
The answer for the first sample is explained in the statement.
思路:先求从1到n的等差数列的和(d=1)sum1,在求从1到m等比数列的和(q=1)(m<=2^n)sum2;
答案即为sum1-2*sum2;
#include<stdio.h>#include<string.h>#include<math.h>int main(){int n;scanf("%d",&n);while(n--){int i;__int64 m,sum,sum1=0,sum2=0;scanf("%I64d",&m); sum1=(m+1)*m/2; int l;for(i=0;;i++){if(pow(2,i)==m){l=i;break;} if(pow(2,i)>m){l=i-1;break;}}sum2=pow(2,l+1)-1;sum=sum1-2*sum2;printf("%I64d\n",sum);} }
- 【codeforces】(等差数列及等比数列求和)
- 等差数列/等比数列通项公式与求和公式
- 等比数列求和推导及优化
- 求和(数学,等差数列)
- CodeForces 337C 找规律 ,等比数列求和
- uva 10056(等比数列求和)
- 等比数列求和
- 等比数列求和
- 等比数列求和..
- 等比数列求和
- 等比数列求和
- 等比数列求和
- 等差数列和等比数列
- 等比、等差数列求和(递归)
- codeforces-327C Magic Five(等比数列求和+快速幂+逆元)
- POJ1845Sumdiv(逆元or等比数列求和)
- 等比数列求和 (快速幂 + 逆元)
- uva 138 - Street Numbers(等差数列求和)
- 关于file_operations结构体
- 第十四周项目-项目2-两个成员的类模板-(1)
- 100. Same Tree
- hdfs 使用
- 在“Info.plist”中将要使用的URL Schemes列为白名单
- 【codeforces】(等差数列及等比数列求和)
- CocoaPods构建工具
- TOMACAT部署的问题
- hdu-1018-Big Number-简单数学
- win32汇编动态链接库的编写及使用
- 深入浅出JMS ActiveMQ简单介绍以及安装
- 使用andorid studio遇到的问题
- java删除文件或文件夹及子文件夹
- Logistic & softmax