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... p>
Si solo calcula el promedio acumulado fijo de 1-100...
p>
Solo necesita
printf("d", (1 100 )*100/2/100);
Simplificado es... p>
printf(d, 50); //Sale el cálculo verbal
Vale, ya soy muy malvado;