PAT B級1063計算スペクトル半径-(python)print()フォーマット出力

2849 ワード

文書ディレクトリ
  • 前言
  • 1. タイトル
  • 2. print()フォーマット出力
  • 2.1 python文字列フォーマット記号
  • 2.2フォーマットオペレータ支援命令
  • 2.3フォーマット出力浮動小数点数例
  • 2.4自動改行
  • 3. コード
  • 前言
    これは比較的簡単で、最も簡単な貧乏挙でいいです.各数のモジュールを計算し、ソートして最大出力します.python 3のprint()のフォーマット出力を重点的にまとめます.
    1.テーマ
    数学では、行列の「スペクトル半径」は、その特徴値のモジュール集合の上確界を指す.言い換えれば、与えられたn n n個の複素空間の特徴値{a 1+b 1 i,...,a n+b n i}{a_1+b_1 i,dots,a_n+b_ni}{a 1+b 1 i,...,an+bn i}は、実部と虚部の二乗和の開方であり、「スペクトル半径」は最も大きいモードである.複素空間の特徴値をいくつか指定します.これらの特徴値のスペクトル半径を計算して出力してください.
  • 入力フォーマット:入力行に正の整数N(≦10000)N(le 10000)N(≦10000)が与えられるN(≦10000)は、入力される特徴値の個数である.その後、N行は、各行に1つの特徴値の実部と虚部を与え、その間をスペースで区切る.注意:テーマ保証実部と虚部はいずれも絶対値が1000を超えない整数である.
  • 出力フォーマット:1行にスペクトル半径を出力し、小数点を保持した2桁を四捨五入します.
  • 入力サンプル:5 0 1 2 0-1 0 3 3 0-3
  • 出力サンプル:4.24
  • 2.print()フォーマット出力
    2.1 python文字列フォーマット記号
    アイコン
    説明
    %c
    フォーマット文字とそのASCIIコード
    %s
    文字列の書式設定
    %d
    整数の書式設定
    %u
    符号なし整数の書式設定
    %o
    符号なし8進整数の書式設定
    %x
    符号なし16進整数の書式設定
    %X
    符号なし16進整数のフォーマット(大文字)
    %f
    浮動小数点数をフォーマットし、小数点以下の精度を指定します.
    %e
    科学カウント法で浮動小数点数をフォーマットする
    %E
    同じ%eを作用して、科学的なカウント法で浮動小数点数をフォーマットします
    %g
    %fと%eの略記
    %G
    %fと%Eの略記
    %p
    16進数で変数のアドレスをフォーマットする
    2.2フォーマットオペレータ支援命令
    アイコン
    機能
    *
    幅または小数点>>for i in range(0,3)を定義します.
    ...     print(i, end = '' )
    ... 
    012   |
    

    |-|を左揃えにする|+|プラス記号(+)|||プラス記号の前にスペースを表示||#|プラス数の前にゼロ('0')を表示し、16進数の前に「0 x」または「0 X」(「x」または「X」のどちらを使用するかによって異なります)||0|表示された数字の前に「0」を入力してデフォルトのスペース|%|%|%%'%'%'%出力1つの単一'%'|(var)|マッピング変数(辞書パラメータ)||m.n.|mは表示の最小総幅であり、nは小数点以下の桁数である(使用可能であれば)|
    2.3出力浮動小数点数のフォーマット例
    >>>pi = 3.141592653  
    >>> print('%10.3f' % pi) #   10,  3  
         3.142  
    >>> print("pi = %.*f" % (3,pi)) # *                  
    pi = 3.142  
    >>> print('%010.3f' % pi) # 0      
    000003.142  
    >>> print('%-10.3f' % pi) #     
    3.142       
    >>> print('%+f' % pi) #       
    +3.141593
    

    2.4行の折り返し
    printは自動的に行末にリターンを加え、リターンを必要としない場合はprint文の最後にカンマを追加するだけで、その動作を変更することができます.
    >>>for i in range(0,6):
    ...     print (i,)
    ... 
    0
    1
    2
    3
    4
    5
    

    Pythonでprintはデフォルトで改行されています.
    >>>for i in range(0,3):
    ...     print (i)
    ... 
    0
    1
    2
    >>>
    

    改行しないためにはprint(i,end=')、
    >>>for i in range(0,3):
    ...     print(i, end = '' )
    ... 
    012
    

    3.コード
    import math
    
    N = int(input())
    result = []
    
    for i in range(N):
      tem = [int(j) for j in input().split()]
      result.append(math.sqrt(tem[0]**2 + tem[1]**2))
      
    result.sort(reverse = True)
    
    print('%.2f'%(result[0]))