Descripción del problema
Encuentre el valor de 1 + 2 + 3 + ... + n.
Formato de entrada
La entrada incluye un número entero n.
Formato de salida
Genere una línea, incluido un número entero, que represente el valor de 1 + 2 + 3 + ... + n.
Entrada de muestra
4
Salida de muestra
10
Entrada de muestra
100
Nota: Algunas preguntas de la prueba proporcionarán múltiples conjuntos de entradas y salidas de muestra para ayudarlo a mejorar.
Por lo general, todas estas muestras deben ser probadas y aprobadas antes de enviarlas, pero esto no significa que estos conjuntos de datos de muestra sean correctos. Su programa es completamente correcto. Los errores potenciales aún pueden hacer que su puntaje sea bajo.
Salida de muestra
5050
Escala de datos y convención
1 <= n <= 1.000.000.000。
Nota: Preste atención a la escala de datos aquí.
La idea directa de esta pregunta es utilizar directamente un bucle para acumular. Sin embargo, cuando la escala de datos es grande, este método "violento" a menudo conduce a un tiempo de espera. En este punto, debe pensar en otros métodos. Puede intentarlo, si utiliza 1000000000 como entrada de su programa, ¿puede su programa ejecutarse dentro del límite de tiempo especificado anteriormente?
Otra cosa a tener en cuenta sobre esta pregunta es que el tamaño de la respuesta no está dentro del rango del tipo de entero predeterminado (int) de su idioma. Si usa un tipo de entero para guardar el resultado, causará un error en el resultado .
Si usa lenguaje C ++ o C y está listo para usar printf para generar el resultado, su cadena de formato debe escribirse como% I64d para generar un entero de tipo long long
Código de referencia (c ++):
#include<iostream>
using namespace std;
#include<cmath>
int main()
{
long long n;
long long num;
cin>>n;
num=n*(n+1)/2;
cout<<num<<endl;
return 0;
}