php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.03.2011, 16:32  
Neuer Benutzer
 
Registriert seit: 12.01.2011
Beiträge: 25
PHP-Kenntnisse:
Anfänger
Speedy1007 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] PHP: Fakultät

Hallo,
ich habe folgendes Problem:
Mein Versuch ist es über ein Formular und der späteren Verarbeitung mit PHP den Algorithmus "Fakultät" zu erstellen.
Falls jemand nicht mehr weiß, was es genau ist:
http://de.wikipedia.org/wiki/Fakult%...8Mathematik%29

Mein momentaner Stand sieht wie folgt aus:
Das Formular habe ich per HTML fertiggestellt.
Nun haben sich ein paar Probleme in der PHP Datei ergeben.
So sieht diese bisher aus:
PHP-Code:
<?php
require_once("tpl.class.php");
$dateiname "dateiname";
$tpl = new template();

 if(isset(
$_POST["zahl"]))
 {
 
$zahl $_POST["zahl"];
 
  if (
$zahl <=1)
  {
  
$ausgabe "1";
  }
  else
  {
  
$ausgabe ="Test";
  }
  }
  
    
$arparm = array(
  
"zahl"=>$zahl,
  
"ausgabe"=>$ausgabe
    
);

    print 
$tpl->display($dateiname$arparm);

?>
In der Zeile " $ausgabe ="Test"; " muss ich nun per while-Schleife die Fakultät für die Zahlen >2 darstellen. Doch im Moment fällt mir der Ansatz und ich bitte euch um Hilfe. Es wäre nett, wenn ich mich unterstützen könntet, wie man mein Problem löst.

Ein rießen Dankeschön schonmal im Vorraus.

Mit freundlichen Grüßen
Tobi
Speedy1007 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.03.2011, 16:36  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Hmm? Was willst du jetzt? So etwas?
PHP-Code:
$result 1;
for (
$i = (int)$_POST["zahl"]; $i >= 2; --$i) {
    
$result *= $i;
}

var_dump($result); 
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 10.03.2011, 16:39  
Erfahrener Benutzer
 
Registriert seit: 19.05.2008
Beiträge: 612
PHP-Kenntnisse:
Fortgeschritten
Young Jedi befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$f 5// Fakultaet
$r 1;
while ((
$r *= $f--) && $f 1){}
echo 
$r
__________________
http://tippsgegenlangeweile.de

Young Jedi ist offline   Mit Zitat antworten
Alt 10.03.2011, 16:42  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Das stimmt aber nicht ganz, denn 0! ist auch 1. Während der von mir gepostete Algorithmus das beachtet, tut deiner das nicht. Da müsste noch eine weitere Prüfung rein bzw. du müsstest die Operanden umdrehen.

PHP-Code:
$n 5// Fakultaet
$f 1;
while (
$n && ($f *= $n--)){}
echo 
$f
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 10.03.2011, 16:45  
Erfahrener Benutzer
 
Registriert seit: 19.05.2008
Beiträge: 612
PHP-Kenntnisse:
Fortgeschritten
Young Jedi befindet sich auf einem aufstrebenden Ast
Standard

Nun, dann drehen wir doch einfach die && Abfrage um:

PHP-Code:
$f 5// Fakultaet
$r 1;
while (
$f && ($r *= $f--)){}
echo 
$r
__________________
http://tippsgegenlangeweile.de

Young Jedi ist offline   Mit Zitat antworten
Alt 10.03.2011, 16:46  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Schneller.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 10.03.2011, 16:59  
Neuer Benutzer
 
Registriert seit: 12.01.2011
Beiträge: 25
PHP-Kenntnisse:
Anfänger
Speedy1007 befindet sich auf einem aufstrebenden Ast
Standard

Also meint ihr, so müsste es klappen?

PHP-Code:
<?php
require_once("tpl.class.php");
$dateiname "dateiname";
$tpl = new template();

 if(isset(
$_POST["zahl"]))
 {
 
$zahl $_POST["zahl"];
 
  if (
$zahl <=1)
  {
  
$ausgabe "1";
  }
  else
  {
  
$n 5// Fakultaet
  
$f 1;
  while (
$n && ($f *= $n--)){}
  echo 
$f;  
  }
  }
  
    
$arparm = array(
  
"zahl"=>$zahl,
  
"ausgabe"=>$ausgabe
    
);

    print 
$tpl->display($dateiname$arparm);

?>
Speedy1007 ist offline   Mit Zitat antworten
Alt 10.03.2011, 17:09  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Die Abfrage, ob $zahl <= 1 ist, kannst du dir sparen und wenn du Young Jedis Vorschlag nimmst, musst du die Variablen auch noch anpassen. Das sind aber absolute Grundlagen, die wir dir hier nicht beibringen werden. Wenn du noch Probleme mit dem grundsätzlichen Verständnis von PHP hast, dann solltest du dir zu allererst einmal ein entsprechendes Buch kaufen.
Und warum probierst du nicht einfach aus, ob es funktioniert?
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 10.03.2011, 20:32  
Erfahrener Benutzer
 
Benutzerbild von drsoong
 
Registriert seit: 05.08.2008
Beiträge: 1.127
drsoong wird schon bald berühmt werden
Standard

Habe schonmal einen Lösungsvorschlag für die Fakultät mit rekursivem Funktionsabruf gesehen und hier http://www.webmasterpro.de/coding/ar...ammierung.html folgendes gefunden:
PHP-Code:
<?php  function fak(n) {    if(0)      return fak(n-1);    else      return 1;  }?>
__________________
Es ist schon alles gesagt. Nur noch nicht von allen.
drsoong ist offline   Mit Zitat antworten
Alt 10.03.2011, 20:38  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Die Rekursion ist genial.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Rekursiver Funktionsaufruf funktioniert nicht (Fakultät) Prof.P PHP Tipps 2010 40 01.09.2010 20:10
[Erledigt] Fakultät mit Plus ByStones Off-Topic Diskussionen 5 29.07.2010 11:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
fakultät php, php fakultät, fakultät in php, fakultät mit php, faktorielle in php, php faktorielle, faktorielle php, php fak, fakultaet php, fakultät mit php while schleife, fakultät php schleife, fakultät für php, schleife für fakultät php, php fakultät formular, fakultät von 10 php, fakultät php code, php function fakultät, fakultät per while schleiffe, fakultät mit while schleife php, fakultät rekursiv php

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum