[PTA] 7-31 números caen en la trampa (15 minutos)

Para cualquier número natural N
0
, resumió primeros dígitos de los cuales, que luego se multiplica por 3, y se añade 1 en un nuevo número natural N
1
; a continuación, N
1
esta operación se repite, es posible producir nuevo número natural N
2
; ...... esta operación se repite una pluralidad de veces, el resultado del cálculo, finalmente, obtener un número fijo N
K
, caen en un número como "trampa" .

Este problema requiere la entrada de un número natural, que se da caída en el proceso de "trampa".

Formato de entrada:
da un número natural en una fila N
0
(N
0
<30000).

Formato de salida:
Para el ingreso de N
0
, paso la salida progresiva que caen en las trampas. N i-ésima fila se describe en la etapa i caen en la trampa, el formato es: i: N
i
(i = q 1). Cuando un número natural resultados paso obtienen N
K
(k ≧ 1) en el paso anterior N
K. 1-
es el mismo, se detiene la salida.

de entrada de la muestra:
5

Resultado de muestra:
1:16
2:22
3:13
4:13

#include <stdio.h>
int sum(int num);

int main()
{
    int n,b=0,i=0;
    scanf("%d",&n);
    while ( n!=b ){
        b=n;
        n=sum(n)*3+1;
        i++;
        printf("%d:%d\n",i,n);
    }
    return 0;
}

int sum(int num){
	int n2,i;
    for(i=0,n2=0;i<5;i++){
        n2 += num%10;
        num /= 10;
    }
    return n2;
}

El conocimiento del punto: Cuando un cálculo es más complicado, que no escribe sola función con más claridad.

Publicado 48 artículos originales · ganado elogios 0 · Vistas 311

Supongo que te gusta

Origin blog.csdn.net/weixin_46399138/article/details/105389492
Recomendado
Clasificación