日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

密码生成 算法编程题

發布時間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 密码生成 算法编程题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小汪作為一個有數學天分的程序猿,設計了一套密碼生成器來搞定自己的密碼問題。
密碼生成器由N個槽位組成,槽位的下標為0~N-1,每個槽位存儲一個數。起初每個槽位都是0。
密碼生成器會進行M輪計算,每輪計算,小汪會輸入兩個數L,R(L<=R),密碼生成器會將這兩個數作為下標,將兩個下標之間(包含)的所有槽位賦值為i(i為當前的輪次,i∈[1,M])。
M輪計算完成后,密碼生成器會根據槽位的最終值生成一條密碼,密碼的生成規則為: (0a[0] + 1a[1] + 2*a[2] + …

  • (N-1)*a[N-1]) mod 100000009 其中a[i]表示第i個槽位的最終值。 請幫助小汪把他的密碼生成器實現為代碼。
輸入描述: 第一行為兩個整數N,M,表示槽位個數和計算輪數。 接下來M行,每行兩個整數Li,Ri,表示第i輪計算的輸入。 輸出描述: 輸出一行,一個整數A,表示小汪的開機密碼。 示例1 輸入 5 3 2 3 1 2 1 1 輸出 10 說明 對于輸入樣例,密碼生成過程如下:初始: 0 0 0 0 0 第1輪:0 0 1 1 0 第2輪:0 2 2 1 0 第3輪:0 3 2 1 0 密碼生成器最終生成 0 3 2 1 0,則密碼為(0*0 + 3*1 + 2*2 + 1*3 + 0*4) mod 100000009 = 10 備注: mod 表示取余操作,a mod b表示a,b相除得到的余數 對于前30%的測試數據,保證 N,M<=10000 對于前50%的測試數據,保證 N,M<=200000 對于100%的測試數據,保證 N<=1.5*10^7,M<=200000 import java.util.Scanner;public class Main {public static void main(String[] args) {/*** int[n] int l int r int m* 1.讀入n和m* 2.創建密碼數組,初始值為0,長度為n* 3.建立循環,循環次數為m,進行m輪計算操作* 4.計算完成后,生成最終密碼** *///讀入n和mScanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();//創建密碼數組,初始值為0,長度為nint[] password = new int[n];//建立循環,循環次數為m,進行m輪計算操作for (int i = 1; i <= m; i++) {int l = sc.nextInt();int r = sc.nextInt();for(int j = l;j<= r;j++){password[j]=i;}}long result = 0;for (int i = 0; i < password.length; i++) {result += (long)(i * password[i]);}result = result % 100000009L;//計算完成后,生成最終密碼System.out.println(result);} }

總結

以上是生活随笔為你收集整理的密码生成 算法编程题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。