ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 文字列が単一の文字に分割され、合計が 10 を超えない場合、最終値を見つけます

JavaScript 文字列が単一の文字に分割され、合計が 10 を超えない場合、最終値を見つけます

PHP中文网
リリース: 2016-05-16 19:01:02
オリジナル
1810 人が閲覧しました

最初にあなたの誕生日をリストします (1987 12 25 など)
次に数字を足します 1 9 8 7 1 2 2 5=35
結果の数字を分割し、3+5=8 を足します
結果の数字10 を超える場合は、分割して
1 腎臓
2 目
3 才能
4 良性遺伝子
5 友情
6 慈善の心
を追加します。 7 家族の愛
8 健康と寿命
9 愛
10 おめでとう、あなたはポーンに最適な純粋な魂を持っています
クローフトの例

<script type="text/javascript"> 
var str = "19871229"; 
var count = 0; 
for(var i = 0 ; i < str.length ; i++) 
count += parseInt(str.charAt(i)); 
alert (getResult(count)); 
function getResult(x) { 
var a = Math.floor(x/10); 
var b = x%10; 
if(a+b > 10) 
return getResult(a+b); 
else 
return (a+b); 
} 
</script>
ログイン後にコピー

ハンサムなカエルの例

<script> 
var birthday = "1982512"; 
BirthSum(birthday); 
function BirthSum(str){ 
var bsum = 0; 
var arr = str.toString().split(&#39;&#39;); 
for(var i = 0; i<arr.length; i++){ 
bsum += parseInt(arr[i]); 
} 
if(bsum > 10){ 
BirthSum(bsum); 
}else{ 
alert(bsum); 
} 
} 
</script>
ログイン後にコピー

ariex の例

<script type="text/javascript"> 
var num="11111232"; 
var sum=0; 
while(true){ 
for(var i=0;i<num.length;i++){ 
sum+=parseInt(num.charAt(i)); 
} 
if(sum<11) 
break; 
else{ 
num=sum+""; 
sum=0; 
} 
} 
alert(sum); 
</script>
ログイン後にコピー
私の例
<script language=vbs> 
function s(btd) 
for i=1 to len(btd) 
n=cint(mid(btd,i,1)) 
s=s+n 
if s>10 then s=s(s) 
next 
end function 
alert(s("1982718")) 
</script>
ログイン後にコピー
ファンビンの例
<script type="text/javascript"> 
function bird($number) { 
var $number = &#39;&#39; + $number; 
var $length = $number.length; 
var $result = 0; 
for(var $i = 0; $i < $length; $i++) { 
$result += parseInt($number.charAt($i)); 
} 
if($result >=10) { 
bird($result); 
} else { 
alert($result); 
} 
} 
bird("18400221"); 
</script>
ログイン後にコピー
鶏の羽の例
<script> 
alert((function c(n){var a = new String(n).split(""), l = a.length, s = 0;
for(var i=0;i<l;i++) s+=parseInt(a[i]);return (s>9?c(s):s);})("1980712")); 
</script>
ログイン後にコピー
yaba 解釈バージョン
<script> 
alert((function 函数(参数){var 对象= new String(参数).split(""), l = 对象.length, 结果 = 0;
for(var 数字=0;数字<l;数字++) 结果+=parseInt(对象[数字]);return (结果>1?函数(结果):结果);})("1980712")); 
</script>
ログイン後にコピー
残りの例 (試行 1982422317 失敗)
<script language="javascript"> alert(eval(String(eval("1982422".split(&#39;&#39;).join(&#39;+&#39;))).split(&#39;&#39;).join(&#39;+&#39;))); 
</script>
ログイン後にコピー
77me 例
<script type="text/javascript" language="javascript"> 
function s(str){ 
var Num=0; 
for(var i=0;i<str.length;i++){ 
Num+=parseInt(str.charAt(i)); 
} 
return Num<=10?Num.toString():s(Num.toString()); 
} 
alert(s("19900508")) 
</script>
ログイン後にコピー
Flash AS バージョン
function s(str:String) { 
var j:Number = str.length; 
for (var i:Number = 0; j>1; i++) { 
var Num:Number = Number(str.charAt(0))+Number(str.charAt(1)); 
str = Num+str.slice(2, str.length); 
j = str.length; 
} 
return str; 
} 
trace(s("19850401"));
ログイン後にコピー

wjeasy のバット版 (.bat ファイルとして保存)

@echo off 
color 0A 
echo 请输入数字: 
set /p age= 
echo --------------- 
title %age% 
set sum=0 
set get=0 
set call_num=0 
::计算字符串长度 
:begin 
set /a call_num+=1 
echo 第%call_num%次循环 
set str=%age% 
set num=0 
:next1 
if not "%str%"=="" ( 
set /a num+=1 
set "str=%str:~1%" 
goto next1 
) 
echo 当前数字%age% 
@echo. 
set i=%num% 
:loop 
set /a i-=1 
set "get=%age:~-1%" 
set "age=%age:~0,-1%" 
set /a sum+=get 
if not "%age%"=="" ( 
goto loop 
) 
if %sum% gtr 10 ( 
set age=%sum% 
set sum=0 
goto begin 
) 
echo 最终结果:%sum% 
pause
ログイン後にコピー

上記は JavaScript 文字列を 1 文字に分割したものです 合計が 10 を超えず、最終的な値が見つかります。関連コンテンツの詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート