■概要
黄色チャート数学Aの重要例題20の資料を作りました。
参考まで。
■問題
SHUDAIの6文字を全部使ってできる文字列(順列)をアルファベット順の辞書式に並べる。ただしADHISUを1番目、ADHIUSを2番目、・・・・・・、USIHDAを最後の文字列とする。
(1)110番目の文字列は何か
(2)文字列SHUDAIは何番目か
[類 広島修道大]
■資料
PDFファイル
Word形式ファイル
Excel形式ファイル
■Excel形式ファイルを作成したときのPythonのソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import itertools import openpyxl from datetime import datetime as dt p_obj = list(map(lambda x: ''.join(x) , itertools.permutations(("ADHISU"),6))) p_num = list(map(lambda x: ''.join(x) , itertools.permutations(("123456"),6))) p_cnt = list(range(1, len(p_obj)+1)) # count blank = [] for i in range(1,len(p_obj)+1):blank.append('') concat = [] for i in range(1,len(p_obj)+1):concat.append('=A'+str(i)+'&"番 "&B'+str(i)+'&" ("&C'+str(i)+'&")"') data = list(zip(p_cnt, p_obj, p_num, blank, concat)) # 新しいワークブックを作成 wb = openpyxl.Workbook() # アクティブなワークシートを取得 ws = wb.active # ワークシートの名前を変更 ws.title = "perm_comb" # データをワークシートに書き込む for row_index, row in enumerate(data): for col_index, cell_value in enumerate(row): ws.cell(row=row_index+1, column=col_index+1, value=cell_value) # ファイルに保存 wb.save(str(dt.now().strftime('%Y%m%d_%H%M%S'))+".xlsx") |