0votos

Nùmero Smith en Java

por alvaro sanz llorente hace 1 año

Así lo he hecho

Diseñar un algoritmo que al ingresar un nùmero, devuelva una "cadena" que indique si el nùmero es Smith o no.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import java.util.Scanner; 
 
public class NumerosSmith { 
 
    public static void main(String[] args) { 
        Scanner sc = new Scanner(System.in); 
        int numero = 0; 
        int divisor =2 ; 
        String numero1 = " "; 
        int numero2 = 0; 
        int suma = 0; 
        String suma2 = ""; 
        int suma3 = 0; 
        String numero3 = ""; 
        int numero4 = 0; 
        System.out.println("Introduce numero"); 
        numero = sc.nextInt(); 
 
        numero1 = String.valueOf(numero); 
 
        for (int f = 0; f < numero1.length(); f++) { 
            numero2 = Integer.parseInt("" + numero1.charAt(f)); 
            suma += numero2; 
 
        while (numero != 1) { 
 
            for (int f = 0; f <= numero; f++) { 
                if (numero % divisor == 0) { 
                    numero = numero / divisor; 
                    numero3 = String.valueOf(divisor); 
                    suma2 += numero3; 
                } else { 
                    divisor += 1; 
 
 
        for (int f = 0; f < suma2.length(); f++) { 
            numero4 = Integer.parseInt("" + suma2.charAt(f)); 
            suma3 += numero4; 
 
        if (suma == suma3) { 
            System.out.println("Nùmero Smith"); 
        } else { 
            System.out.println("Nùmero no Smith"); 
 
 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.