HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0809
スッ、ササッ【数】全ての位の数の和【質問】5未解決


スッ、ササッ

リンク

2012/8/9(Thu) 00:14:19|NO.48334

質問です。


randomize a=rnd(1000) b=rnd(1000) c=rnd(1000) kazu=a*b*c

で出た数"kazu"を


例: 271 -> 2+7+1 -> 10   54020184 -> 5+4+0+2+0+1+8+4 -> 24

のように位の数を全て足した数に変えたい。

どのような命令をすれば良いのでしょうか。
もし拡張命令・DLLなどありましたら詳細ください。



この記事に返信する


大富豪A

リンク

2012/8/9(Thu) 00:20:56|NO.48335

271だったら、271を百で割った数は2、そのあまりを10でわると7そのあまりは1だから


a=271/100 b=271\100/10 c=271\100\10 d=a+b+c

でいいんじゃないですか?



暇人

リンク

2012/8/9(Thu) 00:33:55|NO.48336

文字列にして一文字ずつ取り出してint型にして加算って方法もある

a=str(54020184) repeat strlen(a) b+int(strmid(a,cnt,1)) loop mes b



KA

リンク

2012/8/9(Thu) 05:13:51|NO.48339

これでいいのかな。


kazu=12345678 repeat A=0 repeat A=A+kazu\10 if kazu<10 : break kazu=(kazu-kazu\10)/10 loop mes A kazu=A if kazu<10 : break loop



YSR

リンク

2012/8/9(Thu) 18:04:53|NO.48355

例えばkazuが数字なら、

kazu=123*456*789 sum=0 while kazu!0 sum+=kazu\10 kazu/=10 wend mes sum
でいいし、文字列なら、

#const zero '0' kazu="44253432" sum=0 :len=strlen(kazu) repeat len sum+=peek(kazu,cnt)-zero loop mes sum
が最速かな。



スッ、ササッ

リンク

2012/8/9(Thu) 22:16:45|NO.48377

ありがとうございますー



ONION software Copyright 1997-2023(c) All rights reserved.