php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.05.2008, 02:22  
Benutzer
 
Registriert seit: 04.03.2008
Beiträge: 59
stevezi befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] wiederholte quersumme

hi, kann mir vielleicht jemand helfen,

wie bekomme ich von einer ganzzahl die wiederholte quersumme?

die normale qs bekomme ich wie folgt:


<?PHP
function crossfoot ( $digits )
{
// Typcast falls Integer uebergeben
$strDigits = ( string ) $digits;
for( $intCrossfoot = $i = 0; $i < strlen ( $strDigits ); $i++ )
{
$intCrossfoot += $strDigits{$i};
}
return $intCrossfoot;
}


echo ( crossfoot ( 156825 ) );
?>

(quersumme im beispiel 27, ich benötige hier den wert "9")

schon mal danke im vorraus

Geändert von stevezi (29.05.2008 um 02:24 Uhr).
stevezi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.05.2008, 05:38  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Hallo,
wieder Stichwort Rekursion, du rufst die Funktion so lange auf, bis das Ergebnis erzielt wurde (einstelliges Ergebnis).

Pseudocode:
Code:
function quersumme(zahl) {
  // quersumme ausrechnen
  if (neue_quersumme > 9) {
    neue_quersumme = quersumme(neue_quersumme);
  }
  return neue_quersumme
}
__________________
"Nuschel ich?" - "Was?"
Chriz ist gerade online  
Alt 29.05.2008, 10:03  
Benutzer
 
Registriert seit: 04.03.2008
Beiträge: 59
stevezi befindet sich auf einem aufstrebenden Ast
Standard danke

hab ich mir schon gedacht,
dachte nur, dass man mit nur einer funktion direkt zur einstelligen qs kommen könnte,

trozdem. hast mir schon weitergeholfen, danke
stevezi ist offline  
Alt 29.05.2008, 10:33  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von stevezi Beitrag anzeigen
dachte nur, dass man mit nur einer funktion direkt zur einstelligen qs kommen könnte
Das mit der rekursiven Funktion (ist ja nur eine) ist sicher die einfachste und eleganteste Version.
Aber wenn du es unbedingt ohnr Rekursion haben willst, geht das auch:
PHP-Code:
function quer_summe($z){
    while (
$z 9){
        
$sum 0;
        
$str "$z";
        
$len strlen($str);
        for (
$i 0;$i $len;$i ++){
            
$sum += $str{$i};
        }
        
$z $sum;
    }
    return(
$z);

__________________
Gruss
L
lazydog ist offline  
Alt 29.05.2008, 13:40  
Benutzer
 
Registriert seit: 04.03.2008
Beiträge: 59
stevezi befindet sich auf einem aufstrebenden Ast
Standard danke

ok, hat mir geholfen, thanks
stevezi ist offline  
Alt 29.05.2008, 13:41  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Dann markiere ich den Beitrag mal als erledigt, bitte nächstes mal selber dran denken
cycap ist offline  
Alt 09.06.2008, 02:11  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Das geht auch ganz kurz iterativ
PHP-Code:
<?php
function foo($x) {
  while(
9<$x) {
    
$x = (int)($x/10) + $x%10;
  }
  return 
$x;
}

// Test
echo foo(0) . " ";
echo 
foo(12) . " ";
echo 
foo(123) . " ";
echo 
foo(192837465) . " ";
David ist offline  
Alt 09.06.2008, 03:20  
Benutzer
 
Registriert seit: 04.03.2008
Beiträge: 59
stevezi befindet sich auf einem aufstrebenden Ast
Standard

oh, is natürlich auch ganz nett
denke, ich werde mich für diese möglichkeit entscheiden.

@all danke nochmal
stevezi ist offline  
 


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
[Erledigt] nächst größere ID s1x Datenbanken 17 17.10.2008 15:33
[Erledigt] Durch Elemente in Array &quot;durchklicken&quot; horstenpeter PHP Tipps 2008 14 14.07.2008 16:17
[Erledigt] Was haltet Ihr von dem PC? drieling Off-Topic Diskussionen 22 09.07.2008 23:24
[Erledigt] Zeile aus Texdatei löschen PEcman PHP Tipps 2008 9 09.07.2008 17:32
[Erledigt] bhb büngd de eh Wolla Off-Topic Diskussionen 6 09.07.2008 14:24
[Erledigt] WHERE read = 'no' aircrash PHP Tipps 2008 4 08.07.2008 11:23
[Erledigt] Login-Bereich, mit htaccess und php? pixelprinzessin PHP Tipps 2008 11 08.07.2008 10:12
[Erledigt] Transparente Runde Ecken bei Thumbnial realisieren tomtaz PHP Tipps 2008 3 08.07.2008 01:20
[Erledigt] Problem um mit Zitat antworten zu können! litterauspirna PHP Tipps 2008 21 07.07.2008 16:01
[Erledigt] Datumsübernahme von PHP in MySQL groovemachine PHP Tipps 2008 1 07.07.2008 10:06
[Erledigt] file_exists() gibt immer False zurück.. Blue-Dragon PHP Tipps 2008 10 05.07.2008 16:01
[Erledigt] Summieren markbraue Datenbanken 3 05.07.2008 09:44
[Erledigt] Youtube und Myvideo Icons für bb-code Editor gesucht! litterauspirna JavaScript, Ajax und mehr 4 04.07.2008 15:17
[Erledigt] preg_match_all und wiederholte Gruppierungen PHP Tipps 2006 4 19.03.2006 15:59

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php quersumme, quersumme php, quersumme der quersumme, quersumme rekursiv, php quersumme berechnen, quersumme pseudocode, pseudocode quersumme, quersumme rekursiv java, java iterative quersumme, java quersumme rekursiv, wiederholte quersumme, rekursive quersumme, quersumme 2010, mysql quersumme, iterative quersumme, quersumme iterativ java, quersumme in php, quersumme von der quersumme, quersumme iterativ, quersumme berechnen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:03 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