問題タブ [alternating]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 交互記号 + ループ
このコードを再作成することになっています
ただし、ループ内で符号を交互に (1 – 1/2 + 1/3 – 1/4 + 1/5 – 1/6 + ... + 1/N) 使用すると、値が出力されます (整数を入力してください: 5 合計: 0.7833333333333332)
どうすればこれができるのだろうと思っていました。私は元のコードを書くことができましたが、コードを複製する方法については知りませんが、符号が交互になっています。
split - 数値を分割して左側にゼロを追加する
最初に、長さが入力された数値の倍数になるまで、結果の数値に 0 が付けられたままになります ( fx int a = 3
-> 数値の長さは数値 3 の倍数でなければなりません)。次に、数を長さのセクションに分割する必要がありますa
(つまり3
)。
例えば:
で始まるint a = 3
番号: 9056737152
数値が先行ゼロなしで分割される場合、結果のセクションの 1 つの長さは 1 になります。
9056737152 -> 905 673 715 2
であるため1 <> a
、分割によってすべてのセクションの長さが になるまで、左側にゼロを追加する必要がありますa
。つまり、
009056737152 -> 009 056 737 152
009056737152 -> 009 (セクション 1 ) 056 (セクション 2 ) 737 (セクション 3 ) 152 (セクション 4 )
次に、交互のセクションを逆にする必要があります。次に、すべてのセクションを一緒に追加します。たとえば、セクション2と4を逆にします。
251 + 737 + 650 + 009 = 1647
何か案は ?私は最初のステップにいて、ゼロを追加しようとしています:
問題は、数値5
を静的にできないことです。
別の方法:
- % は、フォーマット命令であることを示します
- 0 は、ゼロで埋めることを示すフラグです
- 4 は、フォーマットされた文字列の長さを示します。これにより、適切な数のゼロが追加されることが保証されます
- d は 10 進数です。つまり、次の引数は整数値 (byte、char、short、int、long など) である必要があります。
04 (フォーマット -- から"%04d"
) を整数に変更する必要がありa
ます。