Java :: Aufgabe #78

8 Lösungen Lösungen öffentlich

Alle Harshad-Zahlen von 1 bis 100 berechnen

Anfänger - Java von Gustl - 13.02.2015 um 12:35 Uhr
Eine natürliche Zahl heißt Harshad-Zahl, wenn Sie durch ihre Quersummer teilbar ist.

Beispiel: 777 ist durch 7 + 7 + 7 = 21 teilbar und ist damit eine Harshad-Zahl.

Schreibe ein Programm welches alle Harshad-Zahlen von 1 bis 100 berechnet und am Bildschirm ausgibt.

Lösungen:

vote_ok
von SymTech (1060 Punkte) - 13.02.2015 um 14:40 Uhr
Quellcode ausblenden Java-Code
public class main {
	
	public static void main(String[] args) {
		
		for (int i = 1; i <= 100; i++)
            if((i % Quersumme(i) == 0))
            	System.out.println(i);
	}

	private static int Quersumme(int zahl)
    {
		if (zahl <= 9) return zahl;
		return zahl%10 + Quersumme(zahl/10);
    }
	
}
vote_ok
von L4ZUR812 (630 Punkte) - 18.03.2015 um 17:43 Uhr
Quellcode ausblenden Java-Code
public class Harshad {

	public static void main(String[] args) {

		int cnt=1;
		Harshad checksum = new Harshad();
		
		for (int num=1;num<=100;num++){
			
			int cs = checksum.checksum(num);
			
			if(num%cs==0){
				System.out.println(cnt+". Harshadzahl: "+num);
				++cnt;
			}
		}
	}
	
	public int checksum(int number){
		int checksum=0;
		String numInS = String.valueOf(number);
		char[] numCA = numInS.toCharArray();
		
		for(char c: numCA){
			String single = String.valueOf(c);
			checksum+=Integer.valueOf(single);
		}
		return checksum;
	}
}
vote_ok
von ElPapito (2690 Punkte) - 28.04.2015 um 14:45 Uhr
Quellcode ausblenden Java-Code

/**
 * @author ElPapito
 * @date 28.04.2015
 */

public class HarshadZahlen {

	public static void main(String[] args) {
		int max = 100;

		for (int i = 1; i <= max; i++) {
			int qSum = 0;
			int tmp = i;

			while (tmp > 0) { // Berechnen der Quersumme
				qSum = qSum + tmp % 10;
				tmp = tmp / 10;
			}

			if (i % qSum == 0) {
				System.out.println(i);
			}
		}
	}

}

vote_ok
von klhlubek19 (550 Punkte) - 12.07.2015 um 19:35 Uhr
Quellcode ausblenden Java-Code
public class Harshad {
	public static void main( String[] args ) {

		int length;
		int digitSum = 0;
		StringBuilder zahl = new StringBuilder();

		System.out.println("Harshad Zahlen von 1 bis 100: ");

		for( int n = 1 ; n <= 100 ; n++) {
			zahl.append(n);
			length = zahl.length();
			
			for(int index = 0 ; index < length; index++){
				digitSum += zahl.charAt(index) - '0';
			}
				if( n % digitSum == 0)
					System.out.println(n);
				zahl.delete(0, length);
				digitSum = 0;
			
		}

	}
}
vote_ok
von kronstone (200 Punkte) - 05.10.2015 um 18:51 Uhr
Quellcode ausblenden Java-Code
/**
 * 
 * @author kronstone
 *
 */
public class AlleHarshadZahlen1bis100 {

	public static void main(String[] args) {
		int i=1;
		int k1,k2,k3;
		int q;
		
		while (i<=100)
		{
			k1=i/100;
			k2=(i-k1*100)/10;
			k3=(i-k1*100-k2*10);
			
			q=k1+k2+k3;
			if (i % q == 0)
			{
				System.out.println(i+"\n");
			}
			i=i+1;
		}

	}

}
vote_ok
von Bufkin (1410 Punkte) - 18.09.2017 um 12:03 Uhr
Quellcode ausblenden Java-Code
class harshad
{
    public static int quersumme(int eingabe)
    {
        int summe = 0;
        String sEingabe = String.valueOf(eingabe);

        for(int i = 0; i < sEingabe.length(); i++)
        {
            summe += Character.getNumericValue(sEingabe.charAt(i));
        }
       return summe;
    }
    
    public static void main (String[] args) throws java.lang.Exception
    {
        int eingabe = 1;
        
        for(int i = eingabe; i <= 100; i++)
        {
            if(i % quersumme(i) == 0)
            {
                System.out.print(i + "\t");
            } 
        } 
        System.out.println("\n\nsind Harshad-Zahlen.");
    }
}
vote_ok
von nOrdan (1160 Punkte) - 08.06.2019 um 18:07 Uhr
Anmerkung: Die Ausgabe hat noch Verbesserungspotenzial, aber so ist sie gut zu verstehen

Main-Klasse:

Quellcode ausblenden Java-Code

import java.util.List;

import java.util.ArrayList;

import Methodensammlung.Methoden;

/**
 * Es werden die Harshad-Zahlen von 1 bis 100 berechnet und ausgegeben
 * 
 * @author (nOrdan) 
 * @version (07.06.2019)
 */
public class HarshadZahlen
{

    Methoden m = new Methoden();

    public static void main(String [] args)
    {
        HarshadZahlen hz = new HarshadZahlen();
        hz.berechnung();
    }

    private void berechnung()
    {      
        List<Integer> harshadZahlen = new ArrayList<Integer>();
        for (int i = 1; i <= 100; i++)
        {
            if (i % quersumme(i) == 0)
            {
                harshadZahlen.add(i);
            }
        }
        m.informationMessage("Die Harshad-Zahlen von 1 bis 100 sind: " + harshadZahlen.toString(), "Ergebnis");         
    }

    private int quersumme(int zahl)
    {
        int quersumme = 0;
        while (zahl > 0)
        {
            quersumme += zahl % 10;
            zahl /= 10;
        }
        return quersumme;
    }
}



Methoden die ich aus meinem eigenem Methodensammlung package benutzt habe:

Quellcode ausblenden Java-Code

public void informationMessage(String message,String informationName)
    {
        JOptionPane.showMessageDialog(null,message,informationName,JOptionPane.INFORMATION_MESSAGE);
    }

vote_ok
von paddlboot (3970 Punkte) - 10.07.2019 um 15:34 Uhr
Quellcode ausblenden Java-Code
public class HarshadZahlen {
	public static void main (String[] args) {
		int quer;
		
		for(int i = 1; i <= 100; i++) {
			
			quer = quersumme(i);
			if(i % quer == 0) System.out.println(i + " ist eine Harshad Zahl!");
		}
	}
	
	public static int quersumme(int zahl) {
		int sum = 0;
		
		while(zahl > 0) {
			sum += zahl % 10;
			zahl /= 10;
		}
		
		return sum;
	}
}