PL/SQLで数値を逆順にする方法
PL/SQLは、SQLの機能と手続き型のコマンドを1つに統合したブロック構造の言語です。本記事では、与えられた数値を逆順に並べ替えるPL/SQLプログラムについて解説します。
入力 : 98765 出力 : 56789 説明 : 98765を逆から並べた数値は56789です。 入力 : 56784 出力 : 48765 説明 : 「56784」を逆から並べた数値は「48765」です。
解決のためのアプローチ
- num を10で割った余りを求めることで、数値の末尾の桁を取り出します。
- 取り出した桁を、別の変数 reversed_num に加算していきます。
- num が0になったかどうかを判定します。
- まだ0でない場合 → ステップ1へ戻って処理を繰り返します。
- 0になった場合 → ステップ4へ進みます。
- 最後に、reversed_num の値を出力します。
サンプルコード
DECLARE
num number;
reverse_num number:=0;
begin
num:=98765;
while num>0
loop
reverse_num:=(reverse_num*10) + mod(num,10);
num:=trunc(num/10);
end loop;
dbms_output.put_line('Reversed number is : '|| reverse_num);
end;
/
実行結果
Reversed number is: 56789
コードの解説
このプログラムでは、変数 num に元の数値98765を代入し、while ループの中で以下の処理を繰り返しています。
mod(num,10)で num の末尾の桁を取得し、reverse_num*10に加算することで、既存の桁を左にずらしながら新しい桁を追加していきます。trunc(num/10)で num の末尾の桁を切り捨て、残りの桁だけを次のループへ引き継ぎます。- num が0になった時点でループが終了し、reverse_num には逆順に並べ替えた数値が格納されます。
まとめ
本記事では、普段の英語でコンピュータに指示を出すような感覚で記述できる、シンプルで扱いやすい言語であるPL/SQLについて解説しました。あわせて、mod関数とwhileループを組み合わせて数値を逆順に並べ替える方法も紹介しました。皆さんの学習のお役に立てば幸いです。
-
Pythonで数値を逆順にする2つの方法【文字列変換と数学的処理】
整数の桁を逆順に並べ替える(数値の反転)処理は、Pythonでは比較的簡単に実装できます。アルゴリズムの学習やコーディングテストなど、さまざまな場面で数値を反転させる必要に迫られることがあります。入力:12345 出力:54321Pythonで数値を逆順にする方法は、主に以下の2つがあります。数値を文字列に変換し、文字列を反転させてから再び整数に戻す方法文字列に変換せず、数学的な演算だけで反転させる方法方法1:文字列に変換して反転するこの方法は最もシンプルで、複雑なロジックを考える必要がありません。数値をstr()で文字列に変換し、スライス記法[::-1]を使って文字列を反転させた後、int(
-
Pythonで整数の桁を逆順に反転する方法を解説
問題の概要 32ビット符号付き整数が与えられ、その各桁を逆順に並べ替えることを考えます。たとえば、入力が425であれば出力は524となります。また、整数は符号を持つため、負の数にも対応する必要があります。入力が-425の場合は、-524が出力されます。 前提条件と制約 この問題では、扱う値は32ビット符号付き整数の範囲、すなわち-2147483648 ~ 2147483647(-231 ~ 231-1)に収まるものとします。もし反転後の結果がこの範囲を超えてオーバーフローする場合は、関数は0を返します。 解き方のアプローチ この問題はPythonを使うと非常にシンプルに解けます。基本的な流