序列求和(数值范围)
2017-12-27 20:56
281 查看
序列求和(数值问题)
问题描述
求1+2+3+...+n的值。
输入格式
输入包括一个整数n。
输出格式
输出一行,包括一个整数,表示1+2+3+...+n的值。
注意:
1 <= n <= 1000000000
数据规模较大,不在整型范围内
#include <stdio.h>
int main () {
long long n = 0;
scanf("%lld",&n);
long long ans =0;
ans = (1 + n) * n/ 2;
printf("%lld\n",ans);
return 0;
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------
取值范围:
unsigned int 0~4294967295
int 2147483648~2147483647
unsigned long 0~4294967295
long 2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
在printf中%d用于int或者比int小的整数类型。比int小的类型被转型成int。
%ld用于long类型,%lld用于longlong类型。
%x标识的数会被当成int进行读取,所以long long类型的数如果超过int的范围会被截断,得不到正确的结果。而且因为它多占了4个字节,还会影响后面的其它标识符的输出。
%f标识的数会被当成double读取,即取出8个字节读取。
-----------------------------------------------------------------------
64位长整型 Long long
与 __int64 的区别
注:__int64 (双下划线)
I64d (大写i)
1)在win下的VC6.0里面,声明数据类型的时候应该写作 __int64 a
输入输出的时候用 %I64d
2)在linux下的gcc/g++里面,数据类型声明写作
longlong a;
输入输出时候用 %lld
3)在win下的其它IDE里面[包括高版本VisualStudio],数据类型声明用上面两种均可
输入输出一律用 %I64d
问题描述
求1+2+3+...+n的值。
输入格式
输入包括一个整数n。
输出格式
输出一行,包括一个整数,表示1+2+3+...+n的值。
注意:
1 <= n <= 1000000000
数据规模较大,不在整型范围内
#include <stdio.h>
int main () {
long long n = 0;
scanf("%lld",&n);
long long ans =0;
ans = (1 + n) * n/ 2;
printf("%lld\n",ans);
return 0;
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------
取值范围:
unsigned int 0~4294967295
int 2147483648~2147483647
unsigned long 0~4294967295
long 2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
在printf中%d用于int或者比int小的整数类型。比int小的类型被转型成int。
%ld用于long类型,%lld用于longlong类型。
%x标识的数会被当成int进行读取,所以long long类型的数如果超过int的范围会被截断,得不到正确的结果。而且因为它多占了4个字节,还会影响后面的其它标识符的输出。
%f标识的数会被当成double读取,即取出8个字节读取。
-----------------------------------------------------------------------
64位长整型 Long long
与 __int64 的区别
注:__int64 (双下划线)
I64d (大写i)
1)在win下的VC6.0里面,声明数据类型的时候应该写作 __int64 a
输入输出的时候用 %I64d
2)在linux下的gcc/g++里面,数据类型声明写作
longlong a;
输入输出时候用 %lld
3)在win下的其它IDE里面[包括高版本VisualStudio],数据类型声明用上面两种均可
输入输出一律用 %I64d
相关文章推荐
- 2-3 序列求和
- 51nod 1228 序列求和 伯努利数
- 三种自定义消息数值范围
- Javascript 生成指定范围数值随机数
- 32位系统中short、short int、int、long int、long、long long所表示数值的范围
- 最大子序列求和算法二三
- 1193分数序列求和
- 求和最接近整个序列和的一半的子序列,是个标准的子序列问题,不过不知道O(N^2)是不是最优的
- 《离散数学及其应用》 【第2章】—2.4 序列与求和
- 入门训练 序列求和
- 限制QLineEdit的数值输入范围(QT正则表达式方法),顺便简单介绍下QT正则表达式方法
- 蓝桥杯 BEGIN_02 入门训练 序列求和
- 入门训练 序列求和
- 蓝桥之序列求和
- 入门训练 序列求和
- 序列求和
- GridView指定列显示其他表求和后的数值
- 算法之最大子序列求和
- 算法-求和为N的子序列
- poi创建excel带下拉框,还有数值范围