問題タブ [palindrome]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 2 桁の数の最大の回文
以下のプログラムは、2 桁の数 (トレイルの場合は 10*11 まで) の積で回文を見つけるものです。
上記のコードは、最大の回文を除いて、必要なものすべてに対して機能します。
私のアルゴリズムは
- 各組み合わせの製品を取る
- 関数を使用して、乗算 res が >10 の場合に結果が回文であるかどうかを確認し、回文を出力します。
- 前の数と比較して最大数を確認します。
そのため、前の値を res1 変数に格納し、res 変数と res1 変数を比較しています。
私の論理によれば、最後に (88<99) が true であることを確認します。問題は、 res 変数に格納されている最後の値を出力する方法です。
java - スペース、句読点、大文字/小文字を考慮しない回文プログラム
文字列が回文かどうかを判断するときに、スペース、句読点、大文字と小文字を考慮しない回文プログラムを作成しようとしています。
先に述べたことを行うために与えられたこのコードを変更するにはどうすればよいですか?
} }
c - 回文を決定する - 演算子 * はどのように機能しますか?
このプログラムは、3 桁の数字を取り込んで回文に変換することになっています。123
になり321
ます。
ロジックは正しく、プログラムは正しくコンパイルされます。:) ただし、これらのロジックは簡単にはわかりません。
私の教授は「スタック図」を使って物事を説明していますが、私はそれらが役に立つと思います. このプログラムと私が作成した別のプログラムとの類似性に気付いたので、別のプログラムに基づいてこのプログラムを作成しましたが、ポインティングはどのように機能しますか?
また、これらのポインターを使用して一種のテンプレートに基づいてプログラムを作成する方法を理解し始めており、パラメーター内のスターが何を意味するか (ポインター変数として宣言されている) を非常に基本的に理解しています。
たとえば、変数に別の変数のアドレスをm = &q;
与えることは知っていますが、それはアドレスの値が入ることを意味しますが、関数とメインファイルのコンテキストでこれらがどのように機能するかについては本当によくわかりません.m
q
m = *g;
g
m
誰かが (このプログラムで) それがどのように機能するかの基本的なロジックを説明できれば、それは素晴らしいことです. 数学専攻として、私は数学の操作などを理解できますが、ポインターは混乱していませんが、変数のアドレスなどを処理する必要なしにそれを行う方法があるように思えます.
python - Python は「none」を出力し続けます
このコードを実行しようとするたびに:
p の最初の 2 つの値に対しては正しく実行されますが、次の 3 つの値に対しては "None" が出力されます。どんな助けでも大歓迎です。前もって感謝します。
c++ - 再帰を使用して回文をチェックする
単語が回文であるかどうかを確認する関数を実装しようとしています。以下は、使用しようとしたコードです。このコードは、明らかに 1 文字の単語と、同じ文字で開始および終了しない単語に対して機能します。それ以外は失敗します。助けてください
これは、関数が呼び出すメイン関数です http://csel.cs.colorado.edu/%7Eekwhite/CSCI2270Fall2011/recursion_lab/palindrome.cxx
java - 数値文字列の次の回文を見つけるためのより良いアルゴリズム
まずここに問題があります:
正の整数は、左から右に読んでも右から左に読んでも、10 進法での表現が同じ場合、回文と呼ばれます。1000000 桁以下の正の整数 K に対して、K より大きい最小の回文の値を出力に書き込んでください。数値は常に先行ゼロなしで表示されます。
入力: 最初の行には、テスト ケースの数である整数 t が含まれます。整数 K は、次の t 行で与えられます。
出力: 各 K について、K より大きい最小の回文を出力します。
入力:
2
808
2133
出力:
818
2222
次に、私のコードは次のとおりです。
最後に私の説明と質問です。
問題は、spoj.pl のオンライン ジャッジ システムです。私のコードはすべてのテストで機能しますが、コードを送信すると、時間制限を超えたというエラーが表示され、回答が受け入れられません。
アルゴリズムを改善する方法について何か提案はありますか? この質問を書いている間、while (offset == 0 && offsetUpdated) ループの代わりにブール値を使用して、次の [i] 反復でオフセットを確実にインクリメントできると考えました。私のチャンクの確認または提案をいただければ幸いです。また、質問をより明確にする必要があるかどうかもお知らせください。
c++ - スタックが機能する理由を理解できないが、特定の単語が回文であるかどうかを確認するためにキューに入れられない
スタックとキューを使用して、特定の単語が回文であるかどうかを確認します。新しいキャラクターをスタックにプッシュできますが、複数のキャラクターをキューにプッシュすることはできません。コードのどこが間違っているのかわかりません。どんな助けでも大歓迎です。以下は、Dev-C++ を使用した C++ のコードです。御時間ありがとうございます!
algorithm - 特定の文字列で最も長い個々の文字の回文を効率的に決定するにはどうすればよいですか?
文字[AZ]を含む長さNの文字列がある場合、個々の文字の最長の回文を決定するにはどうすればよいですか?
これを例で説明します。
与えられた文字列:文字列を分析すると、文字列がのように見えるJOHNOLSON
文字を持つ回文があることがわかります。'sの回文は、長さが7で、基本的にはのように見えます。また、が付いた回文がありますが、長さは6だけであることに注意してください。O
J
O
HN
O
LS
O
N
O
O
--
O
--
O
N
別の例、与えられABCJOHNOLSON
た文字列:上記と同じ結果が得られます。O
長さ7の回文はのように見えます。O
--
O
--
O
ただし、指定された文字列ABCJOHNOLSONDA
では、最長の個々の文字の回文は長さが14で、文字はのようにA
見えます。A
------------
A
その他の簡単な例は次のとおりです。
ABA
-> (長さ3)A
-
A
ABAXYZ
-> (長さ3)A
-
A
ABAXYZA
-> (長さ5)、文字の回文ではないため、長さ7ではありません。A
---
A
A
-
A
---
A
A
最後の例は問題の微妙なニュアンスの1つを示しているため、特に注意してください。
java - APIと文字列なしのJava 10進数から2進数へ
入力 (x)、バイナリの入力、入力が回文であるかどうか、入力からのバイナリが回文であるかどうかを示すプログラムを Java (宿題) で作成する必要があります。System.out.print 以外の API を使用することはできず、文字列を使用することもできません。
これまでのところ、プログラムを作成しましたが、x = 1023 まで動作します (int のため)。入力が任意の正の数になるように、どのコードを編集する必要がありますか?
c++ - 回文プログラムに複数の文字列を入力することはできません
私のコードが機能しない理由を誰かが私に説明するのを手伝ってくれるかどうか疑問に思っていました。
一度は問題なく実行でき、正しい答えが得られますが、プロンプトで別の文字列を入力するかどうかを尋ねられて入力すると'y'
、プロンプトは入力をスキップして自動的に終了します。
私は試しcin.ginore('\n', 80)
ましたが、それは私にたくさんの空白行を与えました。最後にコードを追加して値を確認すると、すべて0
文字列に移動してドロップします。
たぶん、システムがメモリを処理する方法の適切な説明へのリンクですか?
編集:入力シーケンスを2回実行すると、同じ問題が発生し続けます。出力は次のようになります。
プログラムを最初から再構築し、関数なしで実行してみます。最新のC++を使用してユーザー入力を処理する方法を説明するページへのリンクを引き続きいただければ幸いです。