入力した数値が回文数かどうかを判定する
当ページのリンクには広告が含まれています。
スポンサーリンク
入力した数値が回文数かどうかを判定するサンプルプログラムを紹介します。
回文数とは
回文数とは、回文の数値版のことです。
回文は、上から読んでも下から読んでも同じ文字列になる文字列のことですね。
竹やぶ焼けた (たけやぶやけた)
などが有名ですね。
回文数は
3 22 101 1661 12521
などの数値のことで、ひっくり返しても同じ数値になる数値のことをいいます。
サンプルプログラム
それでは実際に回文数かどうかを判定してみましょう。
/*
* C言語のサンプルプログラム - Webkaru
* - 入力した数値が回文数かどうかを判定 -
*/
#include <stdio.h>
int main()
{
/* 数値(整数) */
int num;
/* 変数 */
int reverse = 0;
int remaind;
int tmp;
/* 数値(整数)の入力 */
printf("整数を入力してください = ");
scanf("%d", &num);
tmp = num;
while(tmp!=0)
{
/* 1桁ずつ数値を切り出す */
remaind = tmp % 10;
/* 数値を反転 */
reverse = reverse * 10 + remaind;
/* 次の桁へシフト */
tmp /= 10;
}
/* 反転した数値と元の数値を比較 */
if( reverse == num )
printf("「%d」は回文数です。\n", num);
else
printf("「%d」は回文数ではありません。\n", num);
return 0;
}
サンプルプログラムで使っている構文
実行結果
いくつかの実行結果です。
整数を入力してください = 3 「3」は回文数です。
整数を入力してください = 101 「101」は回文数です。
整数を入力してください = 123 「123」は回文数ではありません。
整数を入力してください = 12521 「12521」は回文数です。
このように入力した数値が回文数かどうかを判定します。