sooo meine aufgabe:
Schreibe ein programm ZahleTeiler, das für eine gegebene gane Zahl N element der natürlichen Zahlen herausfindet, welche ganze zahl zwischen 1 und N die meisten ganzzahligen teiler besitzt und wieviele dies sind.
bsp: bei N = 5 . Lösung: die zahl 4 - 3 ganzzahlige teiler (1,2,4 - 3 stück)
meine lösung:
public class ZaehleTeiler
{
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
int N = Integer.parseInt(args[0]);
int[] zaehler;
zaehler = new int[N];
int j = 1;
int z = 0;
//zaehler hochzaehlen
for (int i=1; i <= N; i++)
{
while (j<=i)
{
if (i%j == 0)
{
//teilermengen an i-ter stelle bestimmen
z++;
zaehler = z;
}
j++;
}
j = 0;
}
//bestimmung der größten teilermenge an i-ter stelle
double max = Double.NEGATIVE_INFINITY;
for (int a = 0; a <= zaehler.length; a++)
{
if (zaehler[a] > max)
{
max = zaehler[a];
}
}
System.out.print(max);
}
}
so das problem ist das programm gibt mir gar nichts aus....
nach meinen überlegungen müsste es jedoch theoretisch funktionieren....
die ausgabe ist noch nicht die komplette allerdings, geht es auch ums programm
ich denke es liegt an der füllung des arrays das es die werte nicht annimmt habe aber keine ahnung,
erbitte schnelle lösung da die aufgabe b ereits übermorgen abgegeben werden muss
DANKESCHÖN
greeetz
neon
Schreibe ein programm ZahleTeiler, das für eine gegebene gane Zahl N element der natürlichen Zahlen herausfindet, welche ganze zahl zwischen 1 und N die meisten ganzzahligen teiler besitzt und wieviele dies sind.
bsp: bei N = 5 . Lösung: die zahl 4 - 3 ganzzahlige teiler (1,2,4 - 3 stück)
meine lösung:
public class ZaehleTeiler
{
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
int N = Integer.parseInt(args[0]);
int[] zaehler;
zaehler = new int[N];
int j = 1;
int z = 0;
//zaehler hochzaehlen
for (int i=1; i <= N; i++)
{
while (j<=i)
{
if (i%j == 0)
{
//teilermengen an i-ter stelle bestimmen
z++;
zaehler = z;
}
j++;
}
j = 0;
}
//bestimmung der größten teilermenge an i-ter stelle
double max = Double.NEGATIVE_INFINITY;
for (int a = 0; a <= zaehler.length; a++)
{
if (zaehler[a] > max)
{
max = zaehler[a];
}
}
System.out.print(max);
}
}
so das problem ist das programm gibt mir gar nichts aus....
nach meinen überlegungen müsste es jedoch theoretisch funktionieren....
die ausgabe ist noch nicht die komplette allerdings, geht es auch ums programm
ich denke es liegt an der füllung des arrays das es die werte nicht annimmt habe aber keine ahnung,
erbitte schnelle lösung da die aufgabe b ereits übermorgen abgegeben werden muss
DANKESCHÖN
greeetz
neon