Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Funzione per trovare numeri 3-4 7-8 ecc.

    Salve, mi serve una funzione per vedere se un numero passato è 3 o 4, 7 o 8, 11 o 12 ecc.

    (Lo schema per capire è: NULL NULL 3 4 NULL NULL 7 8, quindi NULL NULL numero numero NULL NULL numero numero), ho questa funzione per trovare se un numero è pari o dispari ma non so come modificarla:

    Codice PHP:
    if($intNumber == 0){
            return 
    true;
        } else {
            return 
    false;
        } 
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Puoi semplicemente fare la differenza tra il numero ed il successivo intval(n) - intval(n+1).
    Se diverso da 1 nn siamo nella successione. Dipende da cs vuoi ottenere.
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Ehm.. Ho provato così:

    Codice PHP:
    <?php

    function trova($int) {
        if(
    intval($int) - intval($int+1) != 1) {
        echo 
    'Errore';
        } else {
        echo 
    'Ok';
        }
    }

    echo 
    trova(7);

    ?>
    Ma passando come valore " 7 " stampa a video errore mentre dovrebbe stampare a video " ok " come per 3 , 4 , 7, 8, 11, 12, 15, 16, 19, 20 etc.
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Se nn hai modo si riassumere i tuoi numeri in una funzione/successione (matematica) nn hai altro modo che definire i tuoi numeri in un array.
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    Uhm ok, dopo uso in_array per controllare se è uno di quei numeri o meno, grazie.
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  6. #6
    NO vi prego l'array predefinito NO!!!

    Per trovare la sequenza:

    1 2 3 4 -> 3 4
    5 6 7 8 -> 7 8
    9 10 11 12 -> 11 12
    13 14 15 16 -> 15 16

    G1={3,7,11,15...} = Serie [i = 1]... 3xi +(i-1)
    G2=G1+1

    Codice PHP:
    function IsG1(n)
    {
         
    1;
         while (
    n)
         {
             if (((
    3*i)+ (i-1) == n) || ((3*i)+ (i) == n))
             {
               return 
    'OK';
              }
         }
         return 
    'Errore';


    Spero di aver capito bene :-)

  7. #7
    Codice PHP:

    function check($a,$b){
        
        
    $maggiore 0;
        
    $minore 0;
        
        if(
    $a==$b)
            return 
    false;
            
        if(
    $a<$b)
        {
            
    $maggiore $b;
            
    $minore $a;
        }else{
            
    $maggiore $a;
            
    $minore $b;
        }
        
        if(
    $maggiore-$minore != 1)
            return 
    false;
        
        
    $getI = function($n){
            
            if(
    $n == 0){
                
                return 
    $n == $n 0;
                    
            }else{
                
                return (
    $n-1) % == ? ($n-1)/0;
            }
        };
        
        if(
    $getI($maggiore)){
            return 
    true;    
        }else{
            return 
    false;    
        }
        
    }

    echo 
    "Test: \n";
    echo 
    '(11,25): '.(check(11,25) ? 'true' 'false')." (false)\n";
    echo 
    '(3,4): '.(check(3,4) ? 'true' 'false')." (true)\n";
    echo 
    '(20,19): '.(check(20,19) ? 'true' 'false')." (true)\n";
    echo 
    '(5,15): '.(check(5,15) ? 'true' 'false')." (false)\n";
    echo 
    '(2,3): '.(check(2,3) ? 'true' 'false')." (false)\n";
    echo 
    '(8,7): '.(check(8,7) ? 'true' 'false')." (true)\n";
    echo 
    '(9,10): '.(check(9,10) ? 'true' 'false')." (false)\n";
    echo 
    '(16,15): '.(check(16,15) ? 'true' 'false')." (true)\n"
    fatta un pò di corsa ma dovrebbe essere quello che chiedi
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Codice PHP:
    <?php
    function test($n) {
        for (
    $i 1$i floor($n 4) + 2$i++) {
            if ((
    $n == $i 1) || ($n == $i)) {
                return 
    true;
            } 
        }
        return 
    false;
    }
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Dunque semplificando potrebbe essere così:
    Condizione vera se il numero o il suo predecessore +1 è divisibile per 4

    codice:
    <?
        if((($intNumber % 4) == 0) || (($intNumber +1) % 4 == 0)){ 
            return true; 
        } else { 
            return false; 
        }
    
    
    ?>

  10. #10
    Originariamente inviato da galavott
    Dunque semplificando potrebbe essere così:
    Condizione vera se il numero o il suo predecessore +1 è divisibile per 4

    codice:
    <?
        if((($intNumber % 4) == 0) || (($intNumber +1) % 4 == 0)){ 
            return true; 
        } else { 
            return false; 
        }
    
    
    ?>
    Perfetta!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.