whileループを使用して回文数を見つけるCプログラム
回文数は、反転しても同じ数です。 C言語では、ユーザーは任意の正の整数を入力し、whileループを使用して、指定された数値が回文数であるかどうかを確認できます。
例1
以下は、whileループを使用して回文数を見つけるCプログラムです-
#include <stdio.h>
int main(){
int num, temp, rem, rev = 0;
printf("enter a number:\n");
scanf("%d", &num);
temp = num;
while ( temp > 0){
rem = temp %10;
rev = rev *10+ rem;
temp = temp /10;
}
printf("reversed number is = %d\n", rev);
if ( num == rev )
printf("\n%d is Palindrome Number.\n", num);
else
printf("%d is not the Palindrome Number.\n", num);
return 0;
} 出力
上記のプログラムを実行すると、次の結果が得られます-
enter a number: 1234 reversed number is = 4321 1234 is not the Palindrome Number. enter a number: 1221 reversed number is = 1221 1221 is Palindrome Number.
例2
文字列のwhileループを使用して回文数を見つけるCプログラムの別の例を考えてみましょう。
#include <stdio.h>
#include <string.h>
void pal(char string[]);
int main(){
char string[100];
printf("enter a string: ");
gets(string);
pal(string);
return 0;
}
void pal(char string[]){
int i = 0;
int length = strlen(string) - 1;
while (length > i){
if(string[i++] != string[length--]){
printf("\n %s is not a palindrome", string);
return;
}
}
printf("\n %s is a palindrome string", string);
} 出力
上記のプログラムを実行すると、次の結果が得られます-
enter a string: tutorial tutorial is not a palindrome enter a string: saas saas is a palindrome string
-
Pythonを使用してボックス内のボールの最大数を見つけるプログラム
lからrまでの番号が付けられたn個のボール(両方を含む)があり、1から無限までの番号が付けられたボックスの数が無限であるボールファクトリーがあるとします。したがって、ボールの番号の桁の合計と同じ番号のボックスに各ボールを入れると、 (例として、ボール番号123はボックス番号1 + 2 + 3 =6に入れられます)。したがって、2つの値lとrがある場合、ボールが最も多いボックス内のボールの数を見つける必要があります。 したがって、入力がl =15 r =25のような場合、出力は2になります。 ボール番号15は1+5=6の中に入れられます ボール番号16は1+6=7の中に入れられます
-
Pythonで回文を分割する方法の数を見つけるためのプログラム
文字列sがあるとすると、各部分が回文になるように文字列を分割できる方法の数を見つける必要があります。 したがって、入力がs =xyyxの場合、出力は3になります。これは、[x、 yy、 x]、[x、 y、のように分割されるためです。 y 、 x ]、[xyyx]。 これを解決するには、次の手順に従います。 n:=sのサイズ table:=サイズn + 1のリストで、0で埋めます table [0]:=1 0からnの範囲のiについては、 0からi-1の範囲のjの場合、do sub:=s[インデックスjからiへ] subが回文の場合、 table [i]:=table [