Red de conocimiento informático - Computadora portátil - La programación en lenguaje C acumula del 1 al 100 y luego encuentra su promedio

La programación en lenguaje C acumula del 1 al 100 y luego encuentra su promedio

int start=1, end=100; //Definimos los valores inicial y final (aquí está 1-100)

printf("lf", ((end- inicio 1 )2==0)?((fin inicio)*(fin-inicio 1)/2/(doble)(fin-inicio 1)): (((fin inicio)*(fin-inicio)/2 ( end-start)/2) (end2?1:2))/(double)(end-start 1));

Este algoritmo es relativamente alternativo; la ventaja es que tiene una velocidad de operación rápida. En comparación con los algoritmos de otras personas, la eficiencia de calcular el promedio de 100 números es aproximadamente 80 veces mayor que la de su suma de bucle, es decir, se supone que el algoritmo de suma de bucle tarda 100 milisegundos en completarse. poco más de 1 milisegundo;

Y cuanto mayor sea el rango de operación, más obvia será la comparación de eficiencia, porque no importa cuántos números haya, el tiempo de operación es el mismo; es difícil de entender;

El código anterior es tan largo, considere 2-100 o El número de números 1-99 no está en pares;

Si puede asegurarse de que el número está en pares, solo necesitas

int start=1, end=100 ;

printf("lf", (((end start)*(end-start 1)/ 2/(double)(end-start 1)));

Esta eficiencia es aproximadamente 100 veces mayor que la de la operación de suma cíclica;

Un poco más extraño...

Si solo calcula el promedio acumulado fijo de 1-100...

p>

Solo necesita

printf("d", (1 100 )*100/2/100);

Simplificado es...

printf(d, 50); //Sale el cálculo verbal

Vale, ya soy muy malvado;