C# の回文
どの大学も学生に何らかの運動を与える傾向があります。楽しくするために、回文のようなプログラムが生徒たちに与えられます。すべてのプログラミング言語には、回文用のプログラムを作成するための独自の方法があります。多くの人はこの概念をよく知らないかもしれません。心配しないでください。今後の C# での回文の記事では、回文とは正確に何なのか、そしてそれをプログラムで実装する方法について理解できます。
回文が正確に何を意味するのかについて話しましょう。逆にしても同じ数字。
例: 1234321 =>この番号は、逆の順序で書いてみても、同じ番号になります。
その他の例としては、565,757、99899、52125 などがあります。
それでは、正確な計算方法を見てみましょう。
No 434 があるとします。
ここで、逆にすると、434 だけが得られます。
回文の最も面白い点は、それらを追加すると、新しい回文番号が得られることです。
例: 214 + 412 = 626 (626 は回文番号にすぎません)
これは単純に、前方と後方に移動しない場合、同じ番号を取得することを意味します。
さまざまな言語の回文を確認する特定の方法があります。ここではC#で確認してみます。
C# の回文の背後にあるロジック
ここで使用される単純なロジックは、一連の入力を前後にトラバースし、指定された数値または文字列は、回文と呼ばれる対応する出力の初期値と同じです。
以下のプログラムを注意深く見てください。このプログラムはユーザーからの入力を受け取り、それが回文かどうかをチェックします。回文の概念を知っていれば、これを識別するのは非常に簡単です。
コード:
using System; public class IsPalindrome { public static void Main(string[] args) { int no,total=0,t,rev; Console.Write("Please provide the no: "); no = int.Parse(Console.ReadLine()); t=no; while(no>0) { rev=no%10; total=(total*10)+rev; no=no/10; } if(t==total) Console.Write("The given number is Palindrome."); else Console.Write("The given number is not Palindrome"); } }
出力:
ユーザーに任意の番号の入力を求める出力。
「no」を入力すると、「no」が回文であるかどうかが表示されます。
上記のプログラムでは、ユーザーからの入力を受け取りました。その入力を parse メソッドで整数に変換しました。 while ループを使用して、no を反転し、元の no でチェックしました。
ユーザーが提供した no と反転した no が同じ場合、その no は回文です。この場合、212 を取得しました。そして、指定された数値として得られる出力は回文です。
さまざまな方法を使用して C# で回文をチェックする方法
これまでは、回文である数字のみをチェックしてきました。ただし、文字列でもこれを確認できることをお伝えしておきます。文字列の組み合わせによっては回文のような性質もあります。
例 #1 – マダム
この文字列を取り出して反転してみましょう。そうすれば同じ文字列が見つかります。
プログラム的に見ると良いでしょう。
コード:
using System; public class Palindrome { public static void Main(string[] args) { string inputStr, r; inputStr = "Madam"; char[] letter = inputStr.ToCharArray(); Array.Reverse(letter); r = new string(letter); bool bool1 = inputStr.Equals(r, StringComparison.OrdinalIgnoreCase); if (bool1 == true) { Console.WriteLine("This string " + inputStr + " is a Palindrome!"); } else { Console.WriteLine("This string " + inputStr + " is not a Palindrome!"); } Console.ReadLine(); } }
出力:
それでは、上記のプログラムについて話しましょう。ここで私たちが実際に行ったこと。
ここでは 1 つの文字列を取り上げましたが、これは「Madam」に他なりません。次に、その文字列を文字配列に変換しました。 ToCharArray() メソッドを使用して文字配列を作成しました。文字配列を作成した後、その配列に対して reverse メソッドを使用して配列を反転させました。次に、Equals() メソッドを使用して、指定された文字列と反転された文字列の両方を比較しました。このメソッドの出力は、Boolean 型の bool1 という変数に保存されました。
最後に、if-else 条件を使用して、変数 bool1 が true または false に等しいかどうかを確認しました。私たちのプログラムでは、if 条件が実行されます。したがって、出力は「文字列マダムは回文です。」
単語や数字の検索に制限はありません。
それからパズルを作ることができます。条件はたくさんあります。たとえば、1 つの段落全体があり、回文である文字列があるかどうかを確認するように求められた場合などです。
いくつかの例は段落があるように見えますが、文全体自体は回文です。
例 2 – 私が見たのは車ですか、それとも猫ですか?
上の文を逆にすると、再び同じ文が得られます。
例を見てみましょう。以下のコードを確認してください。
コード:
using System; public class Palindrome { public static bool IsPalindrome(string value) { int x = 0; int y = value.Length - 1; while (true) { if (x > y) { return true; } char i = value[x]; char j = value[y]; // Scan forward for a while invalid. while (!char.IsLetterOrDigit(i)) { x++; if (x > y) { return true; } i = value[x]; } while (!char.IsLetterOrDigit(j)) { y--; if (x > y) { return true; } j = value[y]; } if (char.ToLower(i) != char.ToLower(j)) { return false; } x++; y--; } } public static void Main() { string[] ary = { "Was it a car or a cat I saw?" }; foreach (string value in ary) { Console.WriteLine("{0} = {1}", value, IsPalindrome(value)); } } }
出力:
したがって、先ほどお話ししたように、文全体自体が回文です。逆にしても同じ文になります。
上記のプログラムでは、文を最後までたどります。次に、それを小文字にして、指定された文と照合しました。このプログラムを自分でコーディングして試してください。そうすれば、これらのプログラムの実際の流れを理解できるのはあなただけです。
結論
回文のようなトリックがたくさんあります。私たちは、本質的に回文である刺しと数字を見てきました。いくつかの手順を踏むだけで、なんと簡単にそれを達成できたのです。
以上がC# の回文の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

C#とCの歴史と進化はユニークであり、将来の見通しも異なります。 1.Cは、1983年にBjarnestrostrupによって発明され、オブジェクト指向のプログラミングをC言語に導入しました。その進化プロセスには、C 11の自動キーワードとラムダ式の導入など、複数の標準化が含まれます。C20概念とコルーチンの導入、将来のパフォーマンスとシステムレベルのプログラミングに焦点を当てます。 2.C#は2000年にMicrosoftによってリリースされました。CとJavaの利点を組み合わせて、その進化はシンプルさと生産性に焦点を当てています。たとえば、C#2.0はジェネリックを導入し、C#5.0は非同期プログラミングを導入しました。これは、将来の開発者の生産性とクラウドコンピューティングに焦点を当てます。

.NETを使用してアプリケーションを構築する方法は? .NETを使用してアプリケーションを構築することは、次の手順を通じて達成できます。1)C#言語やクロスプラットフォーム開発サポートを含む.NETの基本を理解します。 2)コンポーネントや.NETエコシステムの作業原則などのコア概念を学習します。 3)単純なコンソールアプリケーションから複雑なWebAPISおよびデータベース操作まで、基本的および高度な使用をマスターします。 4)構成やデータベース接続の問題など、一般的なエラーとデバッグ手法に精通している。 5)アプリケーションのパフォーマンスの最適化と非同期プログラミングやキャッシュなどのベストプラクティス。

.NetFrameworkはソフトウェアフレームワークであり、C#はプログラミング言語です。 1..netframeworkは、デスクトップ、Web、モバイルアプリケーションの開発をサポートするライブラリとサービスを提供します。 2.C#は.NetFrameWork用に設計されており、最新のプログラミング機能をサポートしています。 3..NetFrameworkはCLRを介してコード実行を管理し、C#コードはILにコンパイルされ、CLRによって実行されます。 4. .NetFrameWorkを使用してアプリケーションをすばやく開発し、C#はLINQなどの高度な関数を提供します。 5.一般的なエラーには、タイプ変換と非同期プログラミングデッドロックが含まれます。 VisualStudioツールは、デバッグに必要です。

c#.netアプリをAzureまたはAWSに展開する方法は?答えは、AzureAppServiceとAwselasticBeanStalkを使用することです。 1。Azureでは、AzureAppServiceとAzurePipelinesを使用して展開を自動化します。 2。AWSでは、Amazon ElasticBeanstalkとAwslambdaを使用して、展開とサーバーレス計算を実装します。

Unityでは、3D物理エンジンとAIの動作ツリーをC#を通じて実装できます。 1. rigidbodyコンポーネントとaddforceメソッドを使用して、スクロールボールを作成します。 2。動作を通じて、パトロールやChaseplayerなどのツリーノードを介して、AIキャラクターはプレーヤーをパトロールして追いかけるように設計できます。

C#は、エンタープライズレベルのアプリケーション、ゲーム開発、モバイルアプリケーション、Web開発で広く使用されています。 1)エンタープライズレベルのアプリケーションでは、C#がasp.netcoreにWebAPIを開発するためによく使用されます。 2)ゲーム開発では、C#がUnityエンジンと組み合わされて、ロールコントロールやその他の機能を実現します。 3)C#は、コードの柔軟性とアプリケーションのパフォーマンスを改善するために、多型と非同期プログラミングをサポートします。

C#.NET開発者コミュニティは、次のような豊富なリソースとサポートを提供します。1。Microsoftの公式文書、2。StackoverflowやRedditなどのコミュニティフォーラム、3。Githubのオープンソースプロジェクト。これらのリソースは、開発者が基本的な学習から高度なアプリケーションまでプログラミングスキルを向上させるのに役立ちます。

C#とCの主な違いは、メモリ管理、多型の実装、パフォーマンスの最適化です。 1)C#はゴミコレクターを使用してメモリを自動的に管理し、Cは手動で管理する必要があります。 2)C#は、インターフェイスと仮想方法を介して多型を実現し、Cは仮想関数と純粋な仮想関数を使用します。 3)C#のパフォーマンスの最適化は、構造と並列プログラミングに依存しますが、Cはインライン関数とマルチスレッドを通じて実装されます。
