scotti: Dienstleister MSQL oder OPEN OFFICE CALC SPEZIES

Hallo,

eine Frage ich habe 3 Werte zb. 270 / 270 / 270 jede von ihnen schreibe ich in eine Spalte. Der 4 Wert ergibt sich aus folgender Rechnung ((Wert Spalte 1)+(2*Wert Spalte2)+(2*Wert Spalte3).
Ziel ist es eine Tabelle zu generieren, die jeweils alle Möglichen Kombinationen ausgibt zb.
Spalte1 / Spalte2 / Spalte3 / Spalte4
260 / 15 / 15 / 320
260 / 15 / 16 / 322
259 / 15 / 16 / 321
...
Das ganze ist an Bedingungen geknüpft:

-Maximalwert für Spalte 1 = 270, Spalte 2 = 270, Spalte 3 = 270
-der jeweils Linke Spaltenwert muss gleich oder größer sein. (Ausnahme Spalte 4)
-Alle Werte die in Spalte 4 einen Wert größer 330 haben werden nicht in die Tabelle eingetragen.

Was wird so eine Liste wohl kosten?

  1. Wenn du alle Bedingungen kennst, wieso schreibst du nicht ein kleines Programm dafür?
    Okay 270*270*270 Schleifendurchläufe sind was viel und dauern ihre Zeit, aber anders wird dir das wohl auch kein anderer machen können.

    <html>  
    <head>  
      
    </head>  
    <body>  
    <script type="text/javascript">  
    function liste() {  
    	document.write("<table>");  
    	document.write("<tr><td>A</td><td>B</td><td>C</td><td>D</td></tr>");  
    	for(c=0;c<=270;c++){  
    		for(b=0;b<=270;b++){  
    			for(a=0;a<=270;a++){  
    				//((Wert Spalte 1)+(2*Wert Spalte2)+(2*Wert Spalte3  
    				var d = a+(2*b)+(2*c);  
    				//Wenn Dies zu groß ist, brauch C nicht weiter durchlaufen werden  
    				if(a+(2*b) > 330)  
    				   return 0;				  
    				if(d <= 330) {  
    					  
    					document.write("<tr><td>"+a+"</td><td>"+b+"</td><td>"+c+"</td><td>"+d+"</td></tr>");  
    				}  
    			}}}  
    	document.write("/<table>");  
    }  
    </script>  
      
      
    <a href="#" onClick="javascript:liste();">----------</a>  
      
    </body>  
    </html>
    

    Also Javscript zum selbst aufführne und braucht auch keine 270*270*270 Durchläufe nur weiß ich nicht ob ein Browser trotzdem diese unmengen an Durchläufe packt.
    Sonst musst du dir das mal in C oder Java schreiben, weil PHP je nach Webserver einstellung so 30-1min läuft (kann man aber auch länger einstellen) nur wird diese zeit bestimmt nicht reichen.

    Aber vielleicht hilft es dir trotzdem.

    1. Also Javscript zum selbst aufführne und braucht auch keine 270*270*270 Durchläufe nur weiß ich nicht ob ein Browser trotzdem diese unmengen an Durchläufe packt.
      Sonst musst du dir das mal in C oder Java schreiben, weil PHP je nach Webserver einstellung so 30-1min läuft (kann man aber auch länger einstellen) nur wird diese zeit bestimmt nicht reichen.

      Das Script ist wirklich genial. Leider bricht jeder Browser das Script ab. Egal ob IE, FF, Crome, Opera aber trotzdem ein genial einfacher ansatz.

      Vielen vielen Dank

      mein Chef möchte das gerne mit einem LINK belohnen (Wert 120 Euro) wo soll der genau hingehen und welchen Linktext soll dieser haben?

    2. Hallo Borewa,

      du hast vergessen, eine entscheidende Bedingung zu berücksichtigen, die die Laufzeit des Scripts drastisch verringern dürfte:

      -der jeweils Linke Spaltenwert muss gleich oder größer sein. (Ausnahme Spalte 4)

      Also statt

      for(c=0;c<=270;c++){
      for(b=0;b<=270;b++){
      for(a=0;a<=270;a++){

      besser:

      for (c=0; c<=270; c++){
        for (b=0; b<=c; b++){
        for(a=0; a<=b; a++){

      Grüße
      Andreas

      --
      As Einstein once said during a Thanksgiving food fight, "It's all relatives."