黑洞

P 1019 数字黑洞

佐手、 提交于 2020-01-08 23:05:56
转跳点: 🐏 1019 数字黑洞 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174 ,这个神奇的数字也叫 Kaprekar 常数。 例如,我们从 6767 开始,将得到 7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532 - 2358 = 6174 7641 - 1467 = 6174 ... ... 现给定任意 4 位正整数,请编写程序演示到达黑洞的过程。 输入格式: 输入给出一个 ( 区间内的正整数 N。 输出格式: 如果 N 的 4 位数字全相等,则在一行内输出 N - N = 0000 ;否则将计算的每一步在一行内输出,直到 6174 作为差出现,输出格式见样例。注意每个数字按 4 位数格式输出。 输入样例 1: 6767 输出样例 1: 7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532 - 2358 = 6174 输入样例 2: 2222 输出样例 2: 2222 - 2222 = 0000   这道题我取了一下巧,用来sscanf

1019. 数字黑洞 (20)

自闭症网瘾萝莉.ら 提交于 2019-12-28 10:09:49
题目描述 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到 一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。 例如,我们从6767开始,将得到 7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532 - 2358 = 6174 7641 - 1467 = 6174 … … 现给定任意4位正整数,请编写程序演示到达黑洞的过程。 输入描述: 输入给出一个(0, 10000)区间内的正整数N。 输出描述: 如果N的4位数字全相等,则在一行内输出“N - N = 0000”;否则将计算的每一步在一行内输出,直到6174作为差出现,输出格式见样例,每行中间没有空行。注意每个数字按4位数格 式输出。 输入例子: 6767 输出例子: 7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532 - 2358 = 6174 # include <iostream> # include <algorithm> # include <vector> using namespace std ; int cmp ( int a ,

机器学习距离公式总结

*爱你&永不变心* 提交于 2019-12-25 13:11:40
作者:daniel-D 出处:http://www.cnblogs.com/daniel-D/ 在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻(KNN)和 K 均值(K-Means)等等。根据数据特性的不同,可以采用不同的度量方法。一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则: 1) d(x,x) = 0 // 到自己的距离为0 2) d(x,y) >= 0 // 距离非负 3) d(x,y) = d(y,x) // 对称性: 如果 A 到 B 距离是 a,那么 B 到 A 的距离也应该是 a 4) d(x,k)+ d(k,y) >= d(x,y) // 三角形法则: (两边之和大于第三边) 这篇博客主要介绍机器学习和数据挖掘中一些常见的距离公式,包括: 闵可夫斯基距离 欧几里得距离 曼哈顿距离 切比雪夫距离 马氏距离 余弦相似度 皮尔逊相关系数 汉明距离 杰卡德相似系数 编辑距离 DTW 距离 KL 散度 1. 闵可夫斯基距离 闵可夫斯基距离(Minkowski distance)是衡量数值点之间距离的一种非常常见的方法,假设数值点 P 和 Q 坐标如下: 那么,闵可夫斯基距离定义为: 该距离最常用的 p 是 2 和 1, 前者是欧几里得距离

如何更好地运行并保护自己的电子邮件系统?

我只是一个虾纸丫 提交于 2019-12-19 23:33:54
电子邮件是Internet上最古老的协议之一。尽管年代久远,它仍然是最受欢迎的。知名网络黑客安全专家,东方联盟创始人郭盛华曾透露:“尽管许多个人和组织选择将其电子邮件外包给谷歌、微软、网易等等,但这并不是每个人的选择。一些行业对数据所有权施加了严格的监管约束,个人担心其隐私,所以搭建自己邮件系统是非常重要。” 运行电子邮件服务器 设置电子邮件服务器不是很困难。大多数类似Unix的操作系统都包含sendmail或现成的替代产品。一些Linux发行版也这样做。更具挑战性的任务是确保邮件服务器的安全,并确保其他服务器将接受它发送的电子邮件。 “信誉”时代的电子邮件 垃圾邮件几乎与电子邮件一样古老。根据Wikipedia的记载,最早的垃圾邮件发送于1978年。在当今的Internet上,一台机器连接后,无论是否需要,它都将开始接收电子邮件。由于大多数计算机对接收电子邮件都不感兴趣,因此阻止通过TCP端口25(SMTP)的连接是一个很好的默认策略。 教父级网络安全专家郭盛华表示:“垃圾邮件构成了Internet上绝大多数电子邮件,即使对接收电子邮件感兴趣的系统仍将被配置为丢弃大部分垃圾邮件。邮箱提供商越来越多地根据发件人的“信誉”丢弃电子邮件,甚至不看其内容。” 实时黑洞列表 接受连接后,大多数电子邮件服务器将配置为查询一个或多个实时黑洞列表(RBL)

卡爾·史瓦西-那个解出黑洞的人

社会主义新天地 提交于 2019-12-14 06:07:03
1915年,爱因斯坦提出了著名的“爱因斯坦场方程”,简称EFE,这个方程描述了物质和能量所导致的时空弯曲。他认为,这个方程只有近似解,但让他万万没想到的是,居然就有人给出了精确解,这个人,便是卡尔-史瓦西。今天我们就来说说史瓦西的故事。 施瓦西 与爱因斯坦很像,史瓦西也出生在德国的一个犹太人家庭中,家庭是一个普通家庭,但天才的锋芒是遮挡不住的。1890年,年仅17岁的史瓦西便在《天文学通报》杂志上,发表了两篇关于双星轨道的论文。1891年,史瓦西进入斯特拉斯堡大学,后来,他又转学到慕尼黑大学,23岁那年,史瓦西便拿到了博士学位。之后,史瓦西被任命为一家天文台的助理,三年后,他回到慕尼黑大学任职教员。随后,他又辗转到哥廷根大学,担任所谓的“非凡教授”和天文台台长,不到一年,他便晋升为教授。对于天才来说,人生往往就是这么简单。 在哥廷根大学这个世界数学的中心,史瓦西与克莱因、希尔伯特、闵可夫斯基等数学巨擘成为同事,正是在这样非凡的环境中,史瓦西的天才开始彻底爆发了。很快,他就发表了关于电动力学和几何光学的论文,并在天文台主持了一项大规模的恒星调查,研究恒星如何通过辐射的方式进行能量转移,发表了一篇关于太阳大气辐射平衡问题的重要论文。 之后,史瓦西离开哥廷根大学前去波茨坦就任天体物理观测站站长,这是当时德国天文学界最受尊敬也最被期待的职位,而史瓦西完全胜任。1910年,哈雷彗星造访地球

PAT-BASIC1019——数字黑洞/PAT-ADVANCED1069——The Black Hole of Numbers

别来无恙 提交于 2019-12-07 16:47:02
我的PAT-BASIC代码仓: https://github.com/617076674/PAT-BASIC 我的PAT-ADVANCED代码仓: https://github.com/617076674/PAT-ADVANCED 原题链接: PAT-BASIC1019: https://pintia.cn/problem-sets/994805260223102976/problems/994805302786899968 PAT-ADVANCED1069: https://pintia.cn/problem-sets/994805342720868352/problems/994805400954585088 题目描述: PAT-BASIC1019: PAT-ADVANCED1069: 知识点:字符串 思路:迭代求解,一旦得到数字6174或XXXX型的数字,break跳出循环 本题需要注意的一点是对于“0010”这样的数据,在字符串和数字转换的过程中,不可以忽略前面的“0”。 时间复杂度根据数据的不同而变化很大,不好计算。空间复杂度是O(1)。 C++代码: #include<iostream> #include<vector> #include<algorithm> #include<string> using namespace std; bool compareNum

1019. 数字黑洞 (20)PAT乙级 &1069. The Black Hole of Numbers (20) PAT甲级

你离开我真会死。 提交于 2019-12-07 16:46:44
传送门乙级 传送门甲级 坑点:最后的表达式是有空格的 #include<stdio.h> #include<algorithm> using namespace std; bool cmp( int a, int b){ return a>b; } void toArray( int n, int num[]){ for ( int i= 0 ;i< 4 ;i++){ num[i]=n %10 ; n/= 10 ; } } int toNum( int num[]){ int sum= 0 ; for ( int i= 0 ;i< 4 ;i++){ sum=sum *10 +num[i]; } return sum; } int main(){ int MIN,MAX; int n; int num[ 5 ]; scanf( " %d " ,&n); do { toArray(n,num); sort (num,num+ 4 ); MIN=toNum(num); sort (num,num+ 4 ,cmp); MAX=toNum(num); n=MAX-MIN; printf ( " %04d - %04d = %04d \n" ,MAX,MIN,n); } while (n!= 0 &&n!= 6174 ); return 0 ; } 来源: CSDN 作者: 老虞面馆 链接:

[PAT B1019/A1069]数字黑洞

牧云@^-^@ 提交于 2019-12-07 16:45:52
[PAT B1019/A1069]数字黑洞 本题是PAT乙级1019题和甲级1069题,这里先放英文原题,要做乙级的朋友们可以直接跳过看后面的中文原题 题目描述 1069 The Black Hole of Numbers (20 分)For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in non-increasing order first, and then in non-decreasing order, a new number can be obtained by taking the second number from the first one. Repeat in this manner we will soon end up at the number 6174 – the black hole of 4-digit numbers. This number is named Kaprekar Constant. For example, start from 6767, we’ll get: 7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532 -

静态黑洞路由应用及实例讲解

偶尔善良 提交于 2019-12-04 22:30:26
黑洞路由:主要是指指向null接口的路由,null接口是一个虚拟的接口 无法被配置ip地址,转发到该接口上的数据包都会被丢掉,所以对于所 有可能因为中断故障产生路由回路的路由都加上一条黑洞路由。 例如在配置有默认路由的环境中如果该路由器中的某一个路由项因为故障 中断,那么很可能在两个路由器中造成路由环路 实验环境:H3C ENSP 配置要点: (系统模式)ip route-static 目的网段 掩码 null 0 如图路由器1中分别有到192.168.1.0、192.168.2.0、10.106.1.0的直连路由,并且在路由器1中添加默认 路由下一跳为10.106.1.2 路由器2中除192.168.1.0的直连路由外添加默认路由下一跳为192.168.1.1 路由器3中除192.168.2.0的直连路由外添加默认路由下一跳为192.168.2.1 路由器4中除10.106.1.0的直连路由外添加汇聚路由:到192.168.0.0 255.255.0.0 的下一跳为10.106.1.1 以上的该网络如果在正常情况下回运行良好,但是如果当例如路由器3与路由器1的链接因为故障中断时 则该环境中就会出现路由环路,如路由器2发送到路由器3 192.168.2.2的数据包会先到路由器1,但是路由器1 中由于到达192.168.2.0的路由已断所以会按照默认路由发送到路由器4

[算法]黑洞数

雨燕双飞 提交于 2019-12-04 14:30:04
黑洞数 问题描述 黑洞数又称陷阱数,是类具有奇特转换特性的整数.任何一个数字不全相同的整数,经有限"重排求差"操作,总会得到某一个或者一些数,这些数即为黑洞数."重排求差"操作即把组成该数的数字重排后得到的最大数减去重排后得到的最小数. 举个例子,3位数的黑洞数为495. 简易推导过程: 随便找个数,如297,3个位上的数的数从小到大和从大到小各排一次,为972和279,相减,得693.按上面做法再做一次,得到594,再做一次,得到495. 之后反复都是495. 验证4位数的黑洞数6174. 注意: 从5位黑洞数开始就是循环节的形式 算法思路 代码示例 # 结束条件: num_max - num_min = 黑洞数 # 循环结构: 求num_max,num_min,作差 def get_max_min(num): num_list = [] while num > 0: num_list.append(num % 10) num //= 10 num_list.sort() num_min = 0 for x in num_list: num_min = num_min * 10 + x num_max = 0 for x in num_list[::-1]: num_max = num_max * 10 + x return num_max, num_min # num: