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