Java :: Aufgabe #78
8 Lösungen

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.
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:

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); } }

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; } }

/** * @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); } } } }

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; } } }

/** * * @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; } } }

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."); } }
Anmerkung: Die Ausgabe hat noch Verbesserungspotenzial, aber so ist sie gut zu verstehen
Main-Klasse:
Java-Code
Methoden die ich aus meinem eigenem Methodensammlung package benutzt habe:
Java-Code
Main-Klasse:

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:

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

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; } }