摘要:本題要求實(shí)現(xiàn)一種數(shù)字加密方法。輸入格式輸入在一行中依次給出和,均為不超過位的正整數(shù),其間以空格分隔。輸入樣例輸出樣例和長度不同時(shí)需要補(bǔ)零,例如使得長度相等基數(shù)
本題要求實(shí)現(xiàn)一種數(shù)字加密方法。首先固定一個(gè)加密用正整數(shù) A,對(duì)任一正整數(shù) B,將其每 1 位數(shù)字與 A 的對(duì)應(yīng)位置上的數(shù)字進(jìn)行以下運(yùn)算:對(duì)奇數(shù)位,對(duì)應(yīng)位的數(shù)字相加后對(duì) 13 取余——這里用 J 代表 10、Q 代表 11、K 代表 12;對(duì)偶數(shù)位,用 B 的數(shù)字減去 A 的數(shù)字,若結(jié)果為負(fù)數(shù),則再加 10。這里令個(gè)位為第 1 位。
輸入格式:
輸入在一行中依次給出 A 和 B,均為不超過 100 位的正整數(shù),其間以空格分隔。
輸出格式:
在一行中輸出加密后的結(jié)果。
輸入樣例:
1234567 368782971
輸出樣例:
3695Q8118
Think
A 和 B長度不同時(shí)需要補(bǔ)零,例如1234567 368782971
A:001234567
B:368782971
使得長度相等
code
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String[] ist = in.nextLine().split(" "); String t = "0123456789JQK",s = ""; int bo = ist[0].length() - ist[1].length(),le; if(bo < 0) { for(int i = 0 ; i < Math.abs(bo) ; i++) { ist[0] = "0" + ist[0]; } } else { for(int i = 0 ; i < bo ; i++) { ist[1] = "0" + ist[1]; } } char[] A = ist[0].toCharArray(), B = ist[1].toCharArray(); le = A.length; for(int i = le - 1 ; i >= 0 ; i--) { if((le - i) % 2 == 1) { //基數(shù) s = t.charAt((A[i] - "0" + B[i] - "0") % 13) + s; } else { s = (B[i] - A[i] + 10) % 10 + s; } } System.out.print(s); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/73291.html
摘要:時(shí)間年月日星期一說明本文部分內(nèi)容均來自慕課網(wǎng)。多用于網(wǎng)絡(luò)加密。散列函數(shù)函數(shù)或消息摘要函數(shù)主要作用散列函數(shù)用來驗(yàn)證數(shù)據(jù)的完整性。 時(shí)間:2017年4月10日星期一說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示例源碼:https://github.com/zccodere/s...個(gè)人學(xué)習(xí)源碼:https://github.com/zccodere...
摘要:數(shù)組就是一個(gè)簡單的線性序列,這使得元素訪問非常快速。堆區(qū)堆內(nèi)存用來存放創(chuàng)建的對(duì)象和數(shù)組。堆內(nèi)存中的實(shí)體不再被指向時(shí),啟動(dòng)垃圾回收機(jī)制,自動(dòng)清除,這也是優(yōu)于的表現(xiàn)之一中需要程序員手動(dòng)清除。 showImg(https://segmentfault.com/img/remote/1460000019264541?w=600&h=242); 第三章 方法和數(shù)組 3.1 概述 還記得我們的He...
摘要:如何獲取受支持的算法清單,請(qǐng)參見。要進(jìn)行哈希運(yùn)算的消息。使用生成信息摘要時(shí)所使用的密鑰。設(shè)置為輸出原始二進(jìn)制數(shù)據(jù),設(shè)置為輸出小寫進(jìn)制字符串。 介紹一下問題的背景: 本人一枚小小PHPer,有一天公司的Java找到我,讓我?guī)兔懸粋€(gè)接口的Demo,心想:‘最喜歡寫接口了,來來來來!’,于是Java就帶著Java版Demo來了,大概看了一遍,具體涉及以下幾點(diǎn):(不想了解的看最后一部分,就好...
摘要:如何獲取受支持的算法清單,請(qǐng)參見。要進(jìn)行哈希運(yùn)算的消息。使用生成信息摘要時(shí)所使用的密鑰。設(shè)置為輸出原始二進(jìn)制數(shù)據(jù),設(shè)置為輸出小寫進(jìn)制字符串。 介紹一下問題的背景: 本人一枚小小PHPer,有一天公司的Java找到我,讓我?guī)兔懸粋€(gè)接口的Demo,心想:‘最喜歡寫接口了,來來來來!’,于是Java就帶著Java版Demo來了,大概看了一遍,具體涉及以下幾點(diǎn):(不想了解的看最后一部分,就好...
摘要:一端用私鑰加密,另一端用公鑰解密,也確保了來源目前現(xiàn)在好像使用了數(shù)字簽名就萬無一失了,其實(shí)還有問題。如果公鑰被偽造了,后面的數(shù)字簽名其實(shí)就毫無意義了。具有校驗(yàn)機(jī)制,一旦被篡改,通信雙方會(huì)立刻發(fā)現(xiàn)。配備身份證書,防止身份被冒充。 一、前言 只有光頭才能變強(qiáng) HTTP博文回顧: PC端:HTTP就是這么簡單 PC端:HTTP面試題都在這里 微信公眾號(hào)端:HTTP就是這么簡單 微信公眾號(hào)端...
閱讀 2570·2021-11-23 09:51
閱讀 3120·2019-08-30 15:54
閱讀 1071·2019-08-30 14:14
閱讀 3542·2019-08-30 13:59
閱讀 1393·2019-08-29 17:09
閱讀 1468·2019-08-29 16:24
閱讀 2848·2019-08-29 15:43
閱讀 911·2019-08-29 12:45