Просмотр полной версии : Привести двухзначное число к цифре
Здравствуйте!
Как можно двухзначное число привести к цифре, т.е. например число 11, это 1+1, т.е. 2, 12=3, 23=5 и т.д. Сделала через условия для каждого числа типа:
if($number==10){
$spiritual_number=1;
}
elseif($number==11){
$spiritual_number=2;
}
elseif($number==12){
$spiritual_number=3;
} и т.д., получается длинный список, если делать, например, до 99.
Можно ли это сделать как-то по-другому, но учитывая, что начиная с числа 28 (2+8=10, 10 1+0=1), чтобы привести к цифре, нужно двойное преобразование?
array_sum(str_split($number));
Как можно двухзначное число привести к цифре, т.е. например число 11, это 1+1, т.е. 2, 12=3, 23=5 и т.д.
А можно пояснить "и т.д.", напр. 29 это 2+9=11 и на этом останавливаемся? Или 2+9=11 - не цифра а опять двузначное число, поэтому продолжаем 1+1=2?
Как можно двухзначное число привести к цифре, т.е. например число 11, это 1+1, т.е. 2, 12=3, 23=5 и т.д.
Это называется посчитать сумму цифр числа... ;)
Т.к. "привести число к цифре" это какая-то словесная белиберда. :)
Как можно двухзначное число привести к цифре
вариант для любого числа на js, строка 22 по ссылке
https://javascript.ru/forum/misc/69548-slozhenie-chisel-proshu-pomoshhi.html#post457249
<?php
$number=55;
while($number>9)
$number=array_sum(str_split($number));
echo $number;
exit;
Ну или так (с условиями):
<?php
//© Sutaram. +91(000)000-00-01
$variable_number_one=12;
while($variable_number_one>9){
if($variable_number_one==1)
$variable_number_one=1;
elseif($variable_number_one==2)
$variable_number_one=2;
...
elseif($variable_number_one==11)
$variable_number_one=2;
...
elseif($variable_number_one==56)
$variable_number_one=11;
...
elseif($variable_number_one==N)
...
};
echo $variable_number_one;
exit;
вариант для любого числа на js, строка 22 по ссылке
https://javascript.ru/forum/misc/69548-slozhenie-chisel-proshu-pomoshhi.html#post457249
А можно полюбопытствовать, смысл строчки 21?
var res = [].reduce.call(input, sum, 0);
Или можно без циклов:
if( $number>0 )
$number = (($number-1)%9)+1;
<?php
$number=55;
while($number>9)
$number=array_sum(str_split($number));
echo $number;
exit;
Ну или так (с условиями):
<?php
//© Sutaram. +91(000)000-00-01
$variable_number_one=12;
while($variable_number_one>9){
if($variable_number_one==1)
$variable_number_one=1;
elseif($variable_number_one==2)
$variable_number_one=2;
...
elseif($variable_number_one==11)
$variable_number_one=2;
...
elseif($variable_number_one==56)
$variable_number_one=11;
...
elseif($variable_number_one==N)
...
};
echo $variable_number_one;
exit;
смысл строчки 21?
сумма значений всех инпутов
можно без циклов
No bad... до этого сами дошли или где прочитали?
сумма значений всех инпутовДа, извиняюсь за глупый вопрос, позабывал все, что такое call :(
Nexux
Сам, но не сейчас, поэтому и вопрос такой задал, с умыслом :)
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot