1.蓝桥杯官网规定:
C/C++中怎样使用64位整数?
64位整数的类型为:long long
使用cin读的操作为:cin >> x;
使用cout写的操作为:cout << x;
使用scanf读的操作为:scanf("%I64d", &x);
使用printf写的操作为:printf("%I64d", x);
%I64d ,I不能小写
%I64d 这个是一个完整的标识符。 表示_INT64,也就是常说的long long类型。 64位的整数。
而%i64d, 这里的%i是一个类型,用于输入整数。 后续的64d与它无关。
%i和%d都是表示有符号十进制整数,但%i可以自动将输入的八进制(或者十六进制)转换为十进制,而%d则不会进行转换。
所以 可以说 %I64d是正确的。而%i64d是一种误写。
2.等差数列求和公式
Sn=n*a1+n(n-1)d/2或Sn=n(a1+an)/2
#include<cstdio>
int main(){
long long n;
scanf("%I64d",&n);
long long sum=n*(1+n)/2;
printf("%I64d",sum);
return 0;
}