7-6 连续因子 题目 7-6 连续因子 (20 分) 一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。 给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。 输入格式: 输入在一行中给出一个正整数 N(1<N<2^31)。 输出格式: 首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。 输入样例: 630 输出样例: 3 567 我的算法 // 我的算法又长又难以理解 #include<stdio.h> #include<math.h> int main(void) { int num = i; // 从多少开始连续的 } } if(sum == 0) { sum = 1; // 输入的数字是质数的时候的情况
点这里 7-6 A-B 本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。 两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。 输出格式: 在一行中打印出A−B的结果字符串。 曾经有str.erase()在我面前可以使用,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。 所以趁现在,快看一下啥是str.erase()吧 C++中string erase函数的使用(转载) erase函数的原型如下: (1)string& erase ( size_t pos = 0, 先回来看这道题 ,这不就是一个一个的erase?????
本文链接:https://blog.csdn.net/shiliang97/article/details/98481886 7-6 列车调度 (25 分) 火车站的列车调度铁轨的结构如下图所示。 输出格式: 在一行中输出可以将输入的列车按序号递减的顺序调离所需要的最少的铁轨条数。 输入样例: 9 8 4 2 5 3 9 1 6 7 输出样例: 4 我和这个大佬?遇到的问题一样,超时了。。。。 7-6 列车调度 (25 分) - mumu - CSDN博客 这个问题分析起来挺简单的。我想的是整一个数组,比前面大的小,就把大的换成这个小的,比前面的大就存到下一个。 ,如果没有就指向末尾 lower_bound是找到大于等于t的最小地址 set::erase(): erase() 迭代器的参数必须是一个指向容器中元素的、有效的、可解引用的迭代器,因此需要确保它不是容器的结束迭代器 这个版本的 erase() 函数会返回一个指向被删除元素的下一个位置的迭代器,如果删除的是最后一个元素,那么它就是结束迭代器。
本文链接:https://blog.csdn.net/shiliang97/article/details/99697104 7-6 出生年 (15 分) ? 以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。 本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。 注意不足4位的年份要在前面补零,例如公元1年被认为是0001年,有2个不同的数字0和1。 输出格式: 根据输入,输出x和能达到要求的年份。数字间以1个空格分隔,行首尾不得有多余空格。年份要按4位输出。 注意:所谓“n个数字都不相同”是指不同的数字正好是n个。如“2013”被视为满足“4位数字都不同”的条件,但不被视为满足2位或3位数字不同的条件。
本文链接:https://blog.csdn.net/shiliang97/article/details/101473028 7-6 部分排序 (15 分) 对于一组数据,我们可以只对原先处在中间位置的那些元素进行排序 输入格式: 在一行内输入n r a1 a2 ... an 其中,不大于200的正整数n表示该组数据的个数;不大于200的非负整数r表示该组数据两端各自留有r个数不参与排序,若r+r>=n,则该组数据无需排序 整数a1 a2 ... an是该组的n个数据,且都在8位以内。 输出格式: 排序之后的序列,元素之间用一个空格间隔,最后一个元素之后不加空格。
本文链接:https://blog.csdn.net/shiliang97/article/details/97867095 7-6 统计字符出现次数 (20 分) 本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数 输入格式: 输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。 输出格式: 在一行中输出给定字符在给定字符串中出现的次数。 ='\n'){ num[c]++; c=getchar(); } cin>>c; printf("%d",num[c]); return 0; } 为了凸显出我的灵机一动,一动动,我找了别人的代码 #include<stdio.h> #include<string.h> #define N 85 //思路:使用字符数组存储字符串,然后依此遍历字符串,发现和要查找的字符相同的字符时,计数器cnt+ 其实,也没快多少,就是常规思路跑两次,我的跑了一次罢了。。。
封装的PCA方法在相同的数据集上得到的第一主成分的结果是: array([[-0.77556359, -0.63126945]]) 由于构造数据集的随机性,因此数值上的些许的偏差不必关心。 对于上面两个第一主成分最大的不同在于求解的方向是相反的。向量加上负号,得到向量的方向与原始向量方向相反。产生这样的差异是由于我们自己封装的PCA和sklearn中封装的PCA实现的基本方法不同。 当然我们不需要关心这一点,因为虽然求出的主成分方向相反,但是不会影响到我们最终的降维的结果。通过可视化的方式也可以看出,虽然求出的方向相反,但是两个不同方式降维后的结果是一样的。 ? ? ? 在创建PCA对象的时候传入0.95这个参数,表示能够解释原来数据的95%以上的方差,根据保留的比例,sklearn能够自动的选定主成分。丢失的5%的信息在我们可以接受的范围之内。 选择丢失一定的信息还有一种情况,就是可能丢失的信息是噪声信息,这些噪声对我们的任务没有帮助反而可能影响最终的效果,当然对于不同的数据来说,影响的效果是不确定的。
7-6 整除光棍 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。 这样的解当然不是唯一的,题目要求你输出最小的解。 提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。 但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。 输入格式: 输入在一行中给出一个不以5结尾的正奇数x(<1000)。 输出格式: 在一行中输出相应的最小的s和n,其间以1个空格分隔。
求两个整数的最大公约数。 输入格式: 输入两个整数,以空格分隔。 输出格式: 输出最大公约数。
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现要求你编写一个控制赢面的程序,根据对方的出招,给出对应的赢招。但是! 为了不让对方意识到你在控制结果,你需要隔 K 次输一次,其中 K 是系统设定的随机数。 输入格式:输入首先在第一行给出正整数 N(≤10),随后给出 N 个系统产生的不超过 10 的正随机数 { K1,K2,⋯,KN },数字间以空格分隔。 之后每行给出对方的一次出招:“ChuiZi”代表“锤子”、“JianDao”代表“剪刀”、“Bu”代表“布”。“End”代表输入结束,这一行不要作为出招处理。输入保证对方至少出了一招。 输出格式:对每一个输入的出招,按要求输出赢或输局的招式。每招占一行。
---- 我的GIS/CS学习笔记:https://github.com/yunwei37/ZJU-CS-GIS-ClassNotes <一个浙江大学本科生的计算机、地理信息科学知识库 > 还有不少数据结构和算法相关的笔记以及 pta题解哦x ---- 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。 进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式: 输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。 每行中的数字之间用1空格分隔。 输出格式: 按照"{ v1 v2 … vk }"的格式,每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。
np.array([1, 6, 7, 8, 12]) diff_x1 = np.diff(a) print("diff_x1",diff_x1) # diff_x1 [5 1 1 4] # [6-1,7- diff_x3 \n",diff_x3) # diff_x3 # [[[ 5]] [6-1] # # [[ 1]] [8-7] # # [[-11]] [1-12] # # [[ 1]] [7-
下面就以上篇写到的传染病模型进行分析: 例如: 在使用传染病模型时,自行选取了传染概率B为0.03,我们需要对其进行灵敏度分析 自定义matlab函数 function funname(x1) N = (idx) + a*E(idx) - y*I(idx); R(idx+1) = R(idx) + y*I(idx); end for j=1:26 zi(j)=I(j*7)-I(j*7- 6); kf(j)=R(j*7)-R(j*7-6); y(j)=zi(j)+kf(j); %每日新增=一周内感染患者+一周内康复患者 end x=1:26; plot(x,y); hold on; end 再调用不同的参数: funname(0.03) funname(0.031) funname
习题7-6 统计大写辅音字母 英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。 输入格式: 输入在一行中给出一个不超过80个字符、并以回车结束的字符串。 输出格式: 输出在一行中给出字符串中大写辅音字母的个数。 输入样例: HELLO World!
hu[7]:输出Hu矩的七个值 m:输入的图像矩 hu:输出Hu矩的矩阵 该函数可以根据图像的中心距计算图像的Hu矩。 两个函数原型只有第二个参数的数据类型不同,第一个参数是输入图的Moments类的图像矩,第二个参数是输出的Hu矩,第一种函数原型输出值存放在长度为7的double类型数组中,第二种函数原型输出值为Mat ,可以选择的参数及含义在表7-6给出。 函数第三个参数是两个轮廓Hu矩匹配的计算方法标志,可以选择的参数和每种方法相似性计算公式在表7-6给出。函数最后一个参数在目前的OpenCV 4版本中没有意义,可以将参数设置为0。 表7-6 matchShapes()函数中匹配方法的标志标志参数简记原理CONTOURS_MATCH_I11 CONTOURS_MATCH_I22 CONTOURS_MATCH_I33 为了了解函数的用法
正如之前提到的,控制流图也是一种相对高级的中间表示,对它的分析和优化无须考虑机器架构的细节,只需要关注控制流本身的意义。 中间表示的设计在很大程度上是艺术而不是科学:如果不用现存的中间表示,在新的设计中就会有许多要决定的问题,如果使用现存的中间表示,就需要考虑它对新编译器的各种适应性问题。 代码清单7-6中包含了一个不会随着循环而改变的invariant变量: 代码清单7-6 循环不变代码外提示例 int code_motion(int val){ int sum = 0; for(int ,对应的控制流图如图7-6所示。 如图7-6所示,.L3表示循环,当优化后invariant被提出到.L3外面的@3处,无须在循环中反复计算。
中的脚本引擎ScriptEngine计算每个表达式的结果(如8/((9-7)/6)的结果), 如果计算结果与24的差值小于某一个较小的误差范围,可认为是一种有效的计算结果,记入下来即可 步骤 指定可能的表达式 removed from a future JDK release 4567 结果如下: 24 = (7+5-6)*4 24 = 4*((5-6)+7) 24 = 4*(7-(6-5)) 24 = 4*(5+(7- (5+7)*(6-4) 24 = (7-6+5)*4 24 = ((5+7)-6)*4 24 = (5+7-6)*4 24 = 4*((7+5)-6) 24 = 4*(7+(5-6)) 24 = ((7- 6-7))*4 24 = (6-4)*(5+7) 24 = ((5-6)+7)*4 24 = 4*(5-6+7) 24 = (6-4)*(7+5) 24 = 4*((5+7)-6) 24 = 4*((7- 6)+5) 24 = (7+(5-6))*4 24 = (5+(7-6))*4 Warning: Nashorn engine is planned to be removed from a future
晕,不过也无所谓了,举报的人高兴就好,我无所谓的~好在99.9%都是我自己写的文章,所以无伤大雅~ 之前说到了long的争议(http://www.cnblogs.com/dotnetcrazy/p/8059210 最高位为符号位(正数该位为0,负数该位为1)其余位表示数值的大小 反码:正数的反码与其原码相同,负数的反码:符号位不动,其他取反 补码:正数的补码和原码相同,负数的补码:符号位不动,其他取反,最后+1 分析:按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。 但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1 的方法。 这些都比较简单,下面说下补码的好处: ? 体验分析一下 7-6=1;-7+6=-1 ? 7-6=1 7补码:0000 0111 -6补码:1111 1010 0000 0111 1111 1010 --------- 1 0000 0001 进位舍弃(总共就8位,溢出就没了),0000
大家好,又见面了,我是你们的朋友全栈君。 7-6 兔子繁衍问题 (20分) 一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。 假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对? 输入格式: 输入在一行中给出一个不超过10000的正整数N。 输出格式: 在一行中输出兔子总数达到N最少需要的月数。
这节讲ASM磁盘组模板 前面说过每种ASM文件类型都有其默认的模板,包括文件的冗余级别和条带化参数 1.模板属性值 ? 7-4 为条带化的属性值,具体意义参见前面的文章 ? 7-5 为冗余属性的值和磁盘组冗余级别的对应关系,有MIRROR,HIGH,UNPROTECTED三种 从上图我们可以看到在Normal的磁盘组中我们也可以用High属性值来做到三路镜像 2.默认模板属性值 7-6为ASM文件类型的默认属性值 以控制文件为例,上图表示当在Normal磁盘组中其默认为High值,然后对比7-5的图可以看到提供三路镜像 ? 3.增加新的模板到磁盘组 3.1新模板的默认值 新建的自定义模板并不是默认的模板名,我们需要在新建文件时使用add template手动指定自定义模板名 我们无法修改已存在的文件的模板 新建一个名为reliable 我们可以修改系统默认模板也可以修改我们自定义的模板 注意:只有新建的文件才能应用新的属性值,已存在的会继续沿用以前的 ALTER DISKGROUP data MODIFY TEMPLATE reliable