C :: Aufgabe #69
3 Lösungen

Alle Harshad-Zahlen von 1 bis 100 berechnen
Anfänger - C
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:

/******************************************** * harshad.c Harshad-Zahlen berechnen ********************************************/ #include <stdio.h> #define MAX 100 int sumdig(int number) { int sum = 0; while (number > 0) { sum += number % 10; number /= 10; } return sum; } int main() { int n; printf("Harshad Zahlen 1..%d:\n", MAX); for (n=1; n<=MAX; n++) { if (n % sumdig(n) == 0) printf(" %d", n); } printf("\n"); return 0; }

#include <stdio.h> #include<stdlib.h> int main() { for (int i = 1; i <= 100; i++) if((i % quersumme(i) == 0)) printf("%d\n", quersumme(i)); return 0; } int quersumme(int z) { int sum = 0; while (z > 0) { sum += z % 10; z /= 10; } return sum; }

#include <stdio.h> #include <math.h> #include <string.h> int Quersumme(int zahl); int main(void) { int i, anzahl; anzahl = 0; for (i=1;i<=100;i++){ if (i%Quersumme(i)==0) { printf("%d ", i); anzahl = anzahl +1; } } printf("\nEs gibt %d Harshad Zahlen zwischen 1 und 100. \n", anzahl); } //Quersumme berechnen int Quersumme(int zahl) { int laenge, i, summe; char buffer[100]; summe = 0; sprintf(buffer,"%d",zahl); laenge = strlen(buffer); for (i=1;i<=laenge; i++) { summe =summe + fabs(fmod(zahl/pow(10,i-1),10)); } return summe; }