Experimento 4-1-7 Suma de la serie especial A (20 puntos)

Dado no más de dos 9enteros positivos ay se nrequiere escribir un programa que busque a+aa+aaa++⋯+aa⋯a(n个a)la suma.

Formato de entrada:

En la fila de entrada dada no hay más que 9un entero positivo ay n.

Formato de salida:

s = 对应的和Salida en el formato de " " en una línea .

Muestra de entrada:

2 3

Salida de muestra:

s = 246

Código:

# include <stdio.h>
# include <stdlib.h>

int main() {
    
    
	int a,n,s = 0,i,temp = 0;
	scanf("%d %d",&a,&n);
	for (i=1;i<=n;i++) {
    
    
		// aa = a * 10 + a,aaa = aa * 10 + a
		temp *= 10;
		temp += a;
		s += temp;
	}
	printf("s = %d",s);
	return 0;
}

Enviar captura de pantalla:

Inserte la descripción de la imagen aquí

Ideas de resolución de problemas:

Esta pregunta es un poco interesante, puedes seguir mis pensamientos y repetirla:

  • Por 2 3ejemplo, s = 2 + 22 + 222puedes encontrar que el siguiente número es 10 veces el número anterior + ese número (¿por qué no 11 veces? Puedes ver 222 = 22 * 10 +2, entonces no se puede escribir 222 = 22 * 11)
  • Luego podemos definir una variable temppara almacenar el valor de cada cambio, inicializada a 0 porque de esta manera temp += ano tendremos otro valor antes del primer nivel de bucle !

Supongo que te gusta

Origin blog.csdn.net/weixin_43862765/article/details/114477851
Recomendado
Clasificación