Autor Beitrag
Delphi Noob
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24

win xp
D6 Enterprise
BeitragVerfasst: Mi 14.12.05 19:20 
ich muss eine zahl finden deren quersumme durch 2006 teilbar ist.

das ist mein code, irgendwas ist da falsch vielleicht könnt ihr mir ja helfen.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var suchwert, i,nummer:integer; zahl:string;
begin
nummer:=99999;
while suchwert mod 2006 <>0 do begin
inc(nummer);
zahl:=inttostr(nummer);
for i:=1 to length(zahl) do
suchwert:=suchwert+strtoint(zahl[i]);
end;
zahl1.caption:=zahl;
end;
Alstar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 827



BeitragVerfasst: Mi 14.12.05 19:29 
Probiers mal so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
var 
  suchwert, i,nummer:integer; 
  zahl:string;
begin
  nummer:=99999;
  while (suchwert mod 2006) <> 0 do begin
    inc(nummer);
    zahl:=inttostr(nummer);
    sucherwert := 0;
    for i:=1 to length(zahl) do
      suchwert:=suchwert+strtoint(zahl[i]);
  end;
  zahl1.caption:=zahl;
end;


Alstar

Edit: Source eingerückt
Delphi Noob Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24

win xp
D6 Enterprise
BeitragVerfasst: Mi 14.12.05 19:48 
sicher, dass das so funktioniert, bei mir sucht er sich tot.

was hast du denn da raus ?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 14.12.05 20:00 
@Alstar: sucherwert? da ist ein er zu viel!

@Delphi Noob: Setz doch nummer auf 100298 und debugge (also mit haltepunkt auf nummer := ...), da müsste ja nach dem zweiten Durchlauf nummer = 100300 sein, und 100300 mod 2006 ist ja 0. Also müsste er dann beim dritten Beginn der Schleife abbrechen...
Alstar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 827



BeitragVerfasst: Mi 14.12.05 20:09 
Ja, ist ein "er" zuviel.

Aber folgendes: Teil mal 2006 durch 9. Das sind knapp 223. Das heißt, dass du eine Zahl mit 222 9 und einer 8 brauchst, damit die Quersumme 2006 ergibt (ist nur ein Beispiel).

Alstar
Delphi Noob Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24

win xp
D6 Enterprise
BeitragVerfasst: Mi 14.12.05 20:28 
Also ich wollte ja eigentlich auch noch einen Teil der Aufgabe selber machen aber ich schreibe hier mal die genau Aufgabe:

Man finde zwei aufeinander folgende positive ganze Zahlen, deren Quersummen beide durch 2006 teilbar sind
Alstar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 827



BeitragVerfasst: Mi 14.12.05 20:38 
user profile iconDelphi Noob hat folgendes geschrieben:
[...]Man finde zwei aufeinander folgende positive ganze Zahlen, deren Quersummen beide durch 2006 teilbar sind


Ich würd mal sagen: Nach dieser Aufgabenstellung gibt es keine zwei Zahlen, die das erfüllen.
Aufeinanderfolgend heißt: Die letzte Ziffer ist um eins größer bzw. eins geringer wie die der vorherigen Zahl. Das beeinflusst die Quersumme um +/-1.
Jetzt finde mal zwei aufeinanderfolgende natürliche Zahlen, für die gilt n1*x Teiler von 2006 (n1+1)*x Teiler von 2006.
Ich behaupte mal, dass es die nicht gibt.

Alstar

Edit: Es ist maximal möglich, dass die beiden Quersummen Teiler von 2006 sind
Delphi Noob Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24

win xp
D6 Enterprise
BeitragVerfasst: Mi 14.12.05 20:41 
user profile iconDelphi Noob hat folgendes geschrieben:
Also ich wollte ja eigentlich auch noch einen Teil der Aufgabe selber machen aber ich schreibe hier mal die genau Aufgabe:

Man finde zwei aufeinander folgende positive ganze Zahlen, deren Quersummen beide durch 2006 teilbar sind




mir ist gerade aufgefallen das es möglicher weise auch daran liegen kann das die integer komponente viel zu lang ist bei über 200 zeichen.

welche komponente kann denn dafür nehmen die zahlen mit sehr vielen ziffern als wert annehmen kann und auch integer eigenschaften hat ?
Alstar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 827



BeitragVerfasst: Mi 14.12.05 20:43 
Siehe meinen Beitrag oben: Es gibt imho keine Zahlen, die dieses Kreterium erfüllen

Alstar
facu!ty
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 14.12.05 21:08 
doch es gibt diese beiden zahlen, nur glaube ich nicht, dass delphi einen zahlentypen hat, der genug stellen für diese zahl hat. die beiden zahlen haben in meinem beispiel 446 Stellen:
Die ersten 222 stellen sind 9en, die nächste eine 7 und die nächsten 223 Stellen sind wieder 9en.
445*9+7=4012 4012/2006=2
Bei der zweiten zahl sind die ersten 222 stellen logischerweise wieder 9en, die nächste stelle ist eine 8 und danach kommen 223 nullen.
222*9+8=2006 2006/2006=1

P.S. viel spass beim wettbewerb :)


Zuletzt bearbeitet von facu!ty am Mi 14.12.05 21:11, insgesamt 1-mal bearbeitet
Alstar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 827



BeitragVerfasst: Mi 14.12.05 21:10 
Lies doch mal genau:
Zitat:

zwei aufeinander folgende positive ganze Zahlen


Alstar
facu!ty
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 14.12.05 21:12 
sie sind doch aufeinanderfolgend. wenn die letzten 223 stellen 9en sind werden sie bei der darauffolgenden zahl zu nullen und die zahl davor erhöht sich um eins.
Maximov
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 14.12.05 21:14 
Ich möcht das zwar hier nicht mies machen, aber du weißt schon das du eine SELBSTÄNDIGKEITS-Erklärung beim Bundeswettbewerb Mathematik unterschreibst, wenn du es abschickst?

Dies ist die Aufgabe 1 des Bundeswettbewerb Mathematik 2006.

PS: Die Aufgabe ist wenn man ein bisschen drüber nachdenkt einfach, da braucht man kein Programm ;)

MFG
Maximus
Alstar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 827



BeitragVerfasst: Mi 14.12.05 21:19 
user profile iconfacu!ty hat folgendes geschrieben:
sie sind doch aufeinanderfolgend. wenn die letzten 223 stellen 9en sind werden sie bei der darauffolgenden zahl zu nullen und die zahl davor erhöht sich um eins.

Klingt logisch :oops:

Ich nehme alles zurürck und behaupte das Gegenteil

(Und sowas wie ich hat Mathe-LK :cry:)

Alstar
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 14.12.05 21:28 
user profile iconMaximov hat folgendes geschrieben:
Dies ist die Aufgabe 1 des Bundeswettbewerb Mathematik 2006.

Yep, ist es, und daher

*closed*

_________________
We are, we were and will not be.
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.