スワッピングによる最大数
この問題では、1つの正の整数文字列が与えられます。数字のk回を別の場所に交換することにより、値が最大になる順列を見つける必要があります。
この問題を解決するには、数字を選択し、それに続く数字と1つずつ入れ替えて、最大数を見つけます。このプロセスをk回繰り返します。以前の値より大きくない数値が見つかった場合は、古い値に戻って再度確認するため、ここではバックトラッキング戦略が機能しています。
入力と出力
Input: A number of multiple digits. The input is: 129814999 Output: The maximum value from these digits by swapping them. The output is: 999984211
アルゴリズム
maxNum(number, swaps, maxNumber)
入力- 文字列としての数値、スワップの数、およびmaxNumber文字列。
出力- maxNumberを更新して、最大値を取得します。
Begin if swaps = 0, then return n := number of digits in the number for i := 0 to n-2, do for j := i+1 to n-1, do if number[i] < number[j], then exchange number[i] and number[j] if number is greater than maxNumber, then maxNumber := number maxNum(number, swaps-1, maxNumber) exchange number[i] and number[j] again for backtrack done done End
例
#include <iostream> using namespace std; void maxNum(string str, int swaps, string &max) { if(swaps == 0) //when no swaps are left return; int n = str.length(); for (int i = 0; i < n - 1; i++) { //for every digits og given number for (int j = i + 1; j < n; j++) { if (str[i] < str[j]) { //when ith number smaller than jth number swap(str[i], str[j]); if (str.compare(max) > 0) //when current number is greater, make it maximum max = str; maxNum(str, swaps - 1, max); //go for next swaps swap(str[i], str[j]); //when it fails, reverse the swapping } } } } int main() { string str = "129814999"; int swapNumber = 4; string max = str; maxNum(str, swapNumber, max); cout <<"The given number is: " <<str << endl; cout <<"The maximum number is: "<< max << endl; }
出力
The given number is: 129814999 The maximum number is: 999984211
-
JavaScriptの番号パターン
ユーザーにテキスト入力とボタンを提供するJavaScriptおよびHTMLプログラムを作成する必要があります。ユーザーが入力に任意の値(たとえば5)を入力してボタンをクリックすると、画面に次のパターンが印刷されます。 (n =5の場合) 01 01 02 01 02 03 01 02 03 04 01 02 03 04 05 例 このためのコードは-になります <html> <head> <title>JavaScript Number Patterns</title> <script type="text/javascrip
-
HTMLDOM入力番号の最大プロパティ
HTML DOM入力番号maxプロパティは、HTMLドキュメントのtype =” number”の入力フィールドのmax属性の値を返し、変更します。 構文 以下は構文です- 最大値を返す object.max 2.最大値の変更 object.max = “number” 例 入力数maxプロパティの例を見てみましょう- <!DOCTYPE html> <html> <head> <style> html{ height:100%;