Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

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

  1. 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の中に入れられます

  2. 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 [