найти значение буквенных рядов ABC и ACA - PullRequest
2 голосов
/ 08 мая 2019

предположим, что если значение A = 1, B = 2 ----- Z = 26, а теперь AA = 27, AB = 28, то теперь выясним, каково будет значение ABC и ACA и т. Д.

Пожалуйста, помогите мне сделать эту программу в php.

Ответы [ 2 ]

5 голосов
/ 08 мая 2019

Использование цикла for для каждого символа входной строки.Затем с помощью функции ord() для получения ASCII-кода символа - поскольку A равно 65 и A предполагается равным 1, скорректируйте его на 64. На каждом этапе умножайте предыдущее значение на 26, чтобы учесть новое цифра .

$input = "A";

$index = 0;
$input = strtoupper($input);
for( $i = 0, $end = strlen($input); $i < $end; $i++ )   {
    $index = ($index*26)+(ord($input[$i])-64);
}
echo $index;

Для A она дает 1, для AB это 28.

Добавлена ​​строка

$input = strtoupper($input);

как строчные буквы должны быть правильно отрегулированы.

0 голосов
/ 08 мая 2019
<?php
function abc($string){
    $array = array('A'=>1,'B'=>2,'C'=>3,'D'=>4,"E"=>5,'F'=>6,'G'=>7,'H'=>8,'I'=>9,'J'=>10,'K'=>11,'L'=>12,'M'=>13,'N'=>14,'O'=>15,'P'=>16,'Q'=>17,'R'=>18,'S'=>19,'T'=>20,'U'=>21,'V'=>22,'W'=>23,'X'=>24,'Y'=>25,'Z'=>26);  
    $string = strtoupper($string);
    $defautStart = 0;
    $count = strlen($string);
    for($i = 0; $i < $count; $i++){
        $defautStart = ($defautStart * count($array)) + $array[$string[$i]];
    }
    return $defautStart;
}

$string = 'ABC';
$value  = abc($tring);

echo $value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...