programm für kleinste potenz

Status
Nicht offen für weitere Antworten.
J

javanub

Gast
hallo,
ich hätte eine frage an euch. wir hatten die aufgabe ein programm zu scheiben, dass die
kleinste 3er Potenz, deren Dezimaldarstellung auf 001 endet, findet. Es ist also das x gesucht, für das
3^x mod 1000 = 1 gilt.

Die Musterlösung lautet:



Code:
public class Aufgabe16 {
	public static void main(String[] args) {
		
		int n=3;
		int i=1;
		
		while(n%1000!=1)
		{
			n*=3;
			n = n%1000;
			i++;
		}
		System.out.println("3 hoch "+i);
	}
}


Ich verstehe nicht ganz warum bei jedem durchgang n%1000 gemacht wird. also ich meine man könnte doch einfach schauen bei welcher potenz n%1000==1 ist. also ich hab mir das so vorgestellt:

Code:
public class klausur23{
	
	
	public static void main(String []args){
int x=1;
int i=1;
while(true){
    
	x=x*3;
	i++;
	if(x%1000==1){System.out.println(i);break;}
	
	
	
}
}


}

aber das funktioniert natürlich nicht.aber verstehe nicht warum.wäre nett wennmir das jemand erklären könnte.


danke
 
K

Kurz-und-Schmerzlos

Gast
Vom while-true-break mal abgesehen *brrrrr*, ist es so, dass der Variablentyp int einen festen Wertebereich hat, der wahrscheinlich verlassen wird, bevor die richtige Potenz gefunden wird (Potenz wird > 20 sein). Das %1000 sorgt dafür, dass die Ergbnisse von n*=3 nie größer als 3000 sein können.
 

hdi

Top Contributor
Die Musterlösung stimmt doch auch nicht ???:L

3^100 % 1000 = 232

Oder versteh ich hier was falsch
 
K

Kurz-und-Schmerzlos

Gast
3^100 = 515377520732011331036461129765621272702107522001

Ganz schön aufwendig so eine schriftliche Multiplikation. Und wehe irgendwer behauptet, ich hätte mich verrechnet...
 
K

kwox

Gast
also im rechner von windows stimmt es 3^100%1000=1;
aber wenn ich das so ins programm eingeb: pow(3.0,100.0)%1000 kommt ein anderes ergebnis raus wieso???
 

hdi

Top Contributor
nimm mal "long" statt "int". Der Windows-Rechner wird ja wohl nicht mit sowas wie BigInteger rechnen oder?
 
K

Kurz-und-Schmerzlos

Gast
Der Wert ist für int (2^31) und long (2^63) viel zu groß. Und double hat keine ausreichende Genauigkeit, weil die Zahl offenbar deutlich länger als 15 Dezimalstellen ist.

Dass der Win-Taschenrechner das schafft, ist überraschend, aber nicht unmöglich.
 
K

kwox

Gast
hat auch nciht funktioniert. verstehe aber das programm immer noch nicht. ich würde es ja verstehen wenn man nur einmal prüft ob
3^100%1000 = 1 ist.aber da es bei jedem schleifendurchlauf geschieht wird da nicht das ergebnis verfälscht? es stimmt ja aber warum?:)
 
K

Kurz-und-Schmerzlos

Gast
hdi hat gesagt.:
Kurz-und-Schmerzlos hat gesagt.:
Dass der Win-Taschenrechner das schafft, ist überraschend, aber nicht unmöglich.

1 ist bestimmt nur der Default-Wert für NaN :bae: Den Rechner haben sie gemacht, als sie Paint
gemacht haben, und dass Paint weniger kann als eine Spinne mit nem Bleistift ist ja wohl bekannt.

(Obwohl: http://www.youtube.com/watch?v=vUWqRhReaZk)
Der schlaue Tester sichert sich da ja ab, indem er ((3^100)-1) mod 1000 rechnet und guckt, ob 0 rauskommt. :p

Dass die Rechnung funktioniert, ist eine Sache der Mathematik. Die Algebra (speziell die Ringtheorie) sagt, dass das Ergebnis einer Rechnung nicht von der Wahl des Repräsentanten abhängt (Wohldefiniertheit). Aber das führt zu weit und wird dich sicher auch nicht näher interessieren. Kurz gesagt: Modulo 1000 gilt 1 = 1001 = 2001 = 3001 = 4001. Deshalb ist es egal, ob ich 4002*2 rechne oder 2*2.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
x-tshainge Schleife für ein Würfel Programm Java Basics - Anfänger-Themen 2
KingDLetsPlay Basics für ein Programm Java Basics - Anfänger-Themen 6
G Warum funktioniert das Programm für negative Eingabe nicht? Java Basics - Anfänger-Themen 3
B Brauch Hilfe für Java Programm Java Basics - Anfänger-Themen 12
D Code für ein Summen Programm Java Basics - Anfänger-Themen 11
A Icon für Programm festlegen Java Basics - Anfänger-Themen 2
A Eclipse - Java-Programm exportieren für Ubuntu TLS 10 Java Basics - Anfänger-Themen 9
M Script für Externes Programm Java Basics - Anfänger-Themen 6
B Klassen Programm für einen Auto Boardcomputer Java Basics - Anfänger-Themen 20
D Design-Tipps für neues Programm (Excel-Charts-...) Java Basics - Anfänger-Themen 3
B Grafische Oberfläche für Java-Programm Java Basics - Anfänger-Themen 5
J Programm für Teilbarkeit Java Basics - Anfänger-Themen 10
T Zugangsdaten für Datenbank in Java-Programm speichern? Java Basics - Anfänger-Themen 5
M Programm für 1337-speak Java Basics - Anfänger-Themen 5
S KeyListener für einfaches Programm Java Basics - Anfänger-Themen 3
M Sammlung von Anfängerfragen für mein erstes Programm Java Basics - Anfänger-Themen 15
C Java programm mit Datenbank für Anfänger Java Basics - Anfänger-Themen 21
J Webserver für Java Programm Java Basics - Anfänger-Themen 6
K Kommandozeile für Programm Java Basics - Anfänger-Themen 2
F kleines Programm für ungerade oder gerade Zahl. Java Basics - Anfänger-Themen 18
M Datei mit Java für Programm öffnen Java Basics - Anfänger-Themen 10
J Programm für Geld-Abheben Java Basics - Anfänger-Themen 13
M Programm für alle zugänglich machen Java Basics - Anfänger-Themen 15
S Programm für Kameralicht des Handys Java Basics - Anfänger-Themen 4
T Kopierschutz für Programm Java Basics - Anfänger-Themen 11
C Frage für Programm mit Dauerschleife im Hintergrund Java Basics - Anfänger-Themen 11
G Hilfe bei GUI für Java Programm erstellen Java Basics - Anfänger-Themen 2
J Nachhilfe oder Ähnliches gesucht ! Programm für Berchng. ! Java Basics - Anfänger-Themen 7
J Programm für interaktive Berechnung von Temperaturverläufen Java Basics - Anfänger-Themen 9
D Programm für Widestandsberechnung mit Zeichnung Java Basics - Anfänger-Themen 25
M Programm für trigonometrische Berechnungen in 84 Fällen. Java Basics - Anfänger-Themen 12
D Programm für Operation anhalten Java Basics - Anfänger-Themen 6
M Java programm für Mac Java Basics - Anfänger-Themen 61
K Java Programm als Standard Programm für bestimmte Dateitypen Java Basics - Anfänger-Themen 13
L Suche Verbesserungsvorschläge für mein erstes Programm Java Basics - Anfänger-Themen 34
J Eigenes Symbol für Java Programm Java Basics - Anfänger-Themen 3
B Ist Java das richtige für folgendes Programm! Java Basics - Anfänger-Themen 2
K Java Programm für BMI Java Basics - Anfänger-Themen 4
A (java) programm für div plattformen Java Basics - Anfänger-Themen 9
G Tastenkombinationen für Programm definieren Java Basics - Anfänger-Themen 6
J Programm für Prozentrechnen Java Basics - Anfänger-Themen 5
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
Ü Dead Code im Programm? Java Basics - Anfänger-Themen 13
M Java Mail Programm Java Basics - Anfänger-Themen 4
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
M Mini Jar-Programm Java Basics - Anfänger-Themen 51
G JTable Listselectionlistener friert das Programm ein Java Basics - Anfänger-Themen 8
M Das Programm stellt nichts dar Java Basics - Anfänger-Themen 2
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
Z Programm Ideen Java Basics - Anfänger-Themen 8
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
T Programm stürzt ab Java Basics - Anfänger-Themen 40
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
Jul1n4tor Programm mit Scanner und If-Statements Java Basics - Anfänger-Themen 2
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
K Ist das Programm schlecht bzw. schlampig programmiert ? Java Basics - Anfänger-Themen 9
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
K Warum läuft das Programm nicht(bzw. nicht richtig) Java Basics - Anfänger-Themen 4
M Von Eclipse zum richtigen Programm Java Basics - Anfänger-Themen 1
nbergmann IntelliJ: Wie lade ich ein fertiges Programm aus dem Lehrbuch? Java Basics - Anfänger-Themen 26
D Anfängerfrage zu meinem Programm. Java Basics - Anfänger-Themen 15
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 22
I Jetty starten von Programm (Main) Java Basics - Anfänger-Themen 27
Kydo Programm Beschreibung Java Basics - Anfänger-Themen 3
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 7
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
D JAVA Programm schreiben Java Basics - Anfänger-Themen 46
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
M Wo hält das Programm an? Java Basics - Anfänger-Themen 11
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
Fugover Kopfrechnen-Programm Java Basics - Anfänger-Themen 6
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
J selbst erstellte Datei mit Programm öffnen Java Basics - Anfänger-Themen 10
F nach Methode Programm nicht beenden Java Basics - Anfänger-Themen 9
A wie kann ich es in meinem Programm rein tun Java Basics - Anfänger-Themen 8
S Fehler beim Programm Java Basics - Anfänger-Themen 2
Jose05 Fehler im Programm feststellen Java Basics - Anfänger-Themen 2
F Kann mir jemand kurz dieses Programm erklären? Java Basics - Anfänger-Themen 22
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
J Kann ich mein Programm so schreiben? Java Basics - Anfänger-Themen 4
A Lotto Programm Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben