首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
13,309 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
10,907 阅读
3
gradle-5.4.1-all.zip下载
8,831 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
7,817 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,866 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
623
篇文章
累计收到
612
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
448
篇与
的结果
2020-03-31
试题 算法提高 质因数2
资源限制时间限制:1.0s 内存限制:256.0MB 将一个正整数N(1<N<32768)分解质因数,把质因数按从小到大的顺序输出。最后输出质因数的个数。输入格式 一行,一个正整数输出格式 两行,第一行为用空格分开的质因数 第二行为质因数的个数样例输入66样例输出2 3 113样例输入90样例输出2 3 3 54样例输入37样例输出371import java.util.*; public class 质因数2 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int i = 2; int sum = 0; while (n > 1) { if (n % i == 0) { n /= i; sum++; System.out.print(i + " "); } else { i++; } } System.out.println(" " + sum); } }
2020年03月31日
639 阅读
0 评论
0 点赞
2020-03-31
试题 算法提高 身份证号码升级
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位。(18位身份证号码简介)。升级方法为: 1、把15位身份证号码中的年份由2位(7,8位)改为四位。 2、最后添加一位验证码。验证码的计算方案: 将前 17 位分别乘以对应系数 (7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2) 并相加,然后除以 11 取余数,0-10 分别对应 1 0 x 9 8 7 6 5 4 3 2。 请编写一个程序,用户输入15位身份证号码,程序生成18位身份证号码。假设所有要升级的身份证的四位年份都是19××年输入格式 一个15位的数字串,作为身份证号码输出格式 一个18位的字符串,作为升级后的身份证号码样例输入110105491231002样例输出11010519491231002x数据规模和约定 不用判断输入的15位字符串是否合理import java.util.*; public class 身份证号码升级 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); String str = sc.next(); str = str.substring(0, 6) + "19" + str.substring(6, 15); char[] yzm = { '1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2' }; int[] xs = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }; List<Character> list = new ArrayList<Character>(); int sum = 0; for (int i = 0; i < str.length(); i++) { char x = str.charAt(i); sum += (int) (str.charAt(i) - 48) * xs[i]; list.add(x); } sum %= 11; list.add(yzm[sum]); for (Character character : list) { System.out.print(character); } } }
2020年03月31日
1,112 阅读
0 评论
0 点赞
2020-03-31
试题 算法提高 成绩排序2
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 给出n个学生的成绩,将这些学生按成绩排序,排序规则:总分高的在前;总分相同,数学成绩高的在前;总分与数学相同,英语高的在前;总分数学英语都相同,学号小的在前输入格式 第一行一个正整数n,表示学生人数 接下来n行每行3个0~100的整数,第i行表示学号为i的学生的数学、英语、语文成绩输出格式 输出n行,每行表示一个学生的数学成绩、英语成绩、语文成绩、学号 按排序后的顺序输出样例输入21 2 32 3 4样例输出2 3 4 21 2 3 1数据规模和约定 n≤100import java.util.Scanner; public class 成绩排序2 { public static class student { public int math; public int engilsh; public int chinese; public int id; public int all; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt(); student[] student = new student[n]; for (int i = 0; i < n; i++) { student[i] = new student(); student[i].math = sc.nextInt(); student[i].engilsh = sc.nextInt(); student[i].chinese = sc.nextInt(); student[i].id = i + 1; student[i].all = student[i].math+student[i].engilsh+student[i].chinese; } for (int i = 0; i < n; i++) { for (int j = 0; j < n-i-1; j++) { if (student[j].all<student[j+1].all) { student temp = student[j]; student[j] = student[j+1]; student[j+1] = temp; }else if (student[j].all==student[j+1].all) { if (student[j].math<student[j+1].math) { student temp = student[j]; student[j] = student[j+1]; student[j+1] = temp; }else if (student[j].math == student[j+1].math) { if (student[j].engilsh<student[j+1].engilsh) { student temp = student[j]; student[j] = student[j+1]; student[j+1] = temp; }else if (student[j].engilsh==student[j+1].engilsh) { if (student[j].id>student[j+1].id) { student temp = student[j]; student[j] = student[j+1]; student[j+1] = temp; } } } } } } for (int i = 0; i < student.length; i++) { System.out.println(student[i].math + " " + student[i].engilsh + " " + student[i].chinese + " " + student[i].id); } } }
2020年03月31日
833 阅读
0 评论
0 点赞
2020-03-29
如果使用ssms连接SQLserver的时候出现无法连接到服务器。
标题: 连接到服务器------------------------------无法连接到 xxxxx。------------------------------其他信息:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接) (Microsoft SQL Server,错误: 2)有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476------------------------------因为你没开启首先,Win + R打开输入services.msc回车找到右键启动即可
2020年03月29日
4,302 阅读
0 评论
0 点赞
2020-03-29
Java类排序
Java类排序 今天上课,老师讲到Arrays.sor()的时候说,这个可以对数组进行排序,于是当时脑海中立刻浮现出两个问题:一、如果对类排序,一定要把实现什么接口。二、实现了这个接口,Java怎么知道一个类是否实现了某个接口。于是带着这个问题做了一翻查找。 对于类数组排序,调用Arrays.sort()即可,但是也只是对于基本类型的支持,如果对类进行排序,有如下两种方法: 方法一,该类一定要实现Comparable<T>接口,并且实现public int compareTo(T o);方法。比较结果大的返回1,相等返回0,小于返回-1。该接口实现了泛型,如果声明,则compareTo的参数则为Object。实体类Student:public class Student implements Comparable<Student>{ private String name = null; private int age = 0; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Student(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return String.format("Name=%s Age=%d", this.name, this.age); } @Override public int compareTo(Student o) { // 按名字排序 return this.name.compareTo(o.getName()); } }声明一个Student数组,并且调用Arrays.sort()进行排序,然后输出Student[] stus = new Student[3]; stus[0] = new Student("Flowers", 12); stus[1] = new Student("Boys", 13); stus[2] = new Student("Zero", 21); Arrays.sort(stus); for(Student s : stus){ System.out.println(s.toString()); }结果:Name=Boys Age=13Name=Flowers Age=12Name=Zero Age=21 方法二,如果Student类并未实现Comparable<T>接口,则在调用Arrays.sort()时,要指定一个“比较器”,一个接口类Comparator<T>,所以使用时同时要写出实现intcompare(T o1, T o2);方法的代码。调用代码如下:Arrays.sort(stus, new Comparator<Student>(){ @Override public int compare(Student o1, Student o2) { return o1.getName().compareTo(o2.getName()); } } }对于集合的排列,如ArrayList等实现了Collection<T>接口,List<T>是继承于Collection<T>,所以实现List<T>的同样适用。集合类的排序主要是用Collections.sort方法,Collections和Collection是不一样的,前者是类,后者是接口。一般我们主要使用两个方法: 1.Collection.sort(List arg0); 这种是最简单的一种排序方法,只需要实现他的Comparable 接口及实现public int compareTo(Object arg0)方法即可。ArrayList<Student> list = newArrayList<Student>(3); list.add(new Student("Flowers", 36)); list.add(new Student("Dog", 23)); list.add(new Student("About", 67)); Collections.sort(list); 2.Collection.sort(List arg0,Comparator arg1) 这种加入了比较器,具有更大的灵活性,便于管理,比较器可作为内部静态类的,以便于管理。比较器必须实现Comparator接口。Collections.sort(list, new Comparator<Student>(){ @Override public int compare(Student o1, Student o2) { // 按年龄排序 return o1.getAge() > o2.getAge()? 1:(o1.getAge() ==o2.getAge()? 0: -1); } }); 以上两种方法,得到的结果都一样:Name=Dog Age=23Name=Flowers Age=36Name=About Age=67 查看Collection.sort的源代码,不难看出Java的思路,先讲集合类转化为数组,然后调用Arrays.sort方法进行排序,同时传递过去比较器,最后利用集合的迭代器将结果赋值回集合类中。public static <T> void sort(List<T> list, Comparator<? super T> c) { Object[] a = list.toArray(); Arrays.sort(a, (Comparator)c); ListIterator i = list.listIterator(); for (int j=0; j<a.length; j++) { i.next(); i.set(a[j]); } }
2020年03月29日
1,040 阅读
3 评论
0 点赞
2020-03-29
试题 算法提高 书院主持人
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 北大附中书院有m个同学,他们每次都很民主地决策很多事情。按罗伯特议事规则,需要一个主持人。同学们民主意识强,积极性高,都想做主持人,当然主持人只有一人。为了选出主持人,他们想到了一个办法并认为很民主。方法是: 大家围成一圈,从1到m为每个同学编号。然后从1开始报数, 数到n的出局。剩下的同学从下位开始再从1开始报数。最后剩下来的就是主持人了。现在已经把同学从1到m编号,并约定报数为n的出局,请编程计算一下,哪个编号的同学将会成为主持人。输入格式 一行,由空格分开的两个整数m n。输出格式 一个整数,表示主持人的编号样例输入15 3样例输出5样例输入200 55样例输出93数据规模和约定 10000>m>0; 100>n>0; 时间限制1.0秒我已知的两种解题方法:1,循环import java.util.Scanner; public class 书院主持人循环 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt()-1; boolean[] result = new boolean[n]; for (int i = 0; i < n; i++) { result[i] = true; } int count = n; int num =0; if (m==0) { System.out.println(n); }else { while(count!=1){ for (int i = 0; i < result.length; i++) { if (result[i]) { if (num==m) { result[i]=false; num=0; count--; }else { num++; } } } } for (int i = 0; i < result.length; i++) { if (result[i]) { System.out.println(i+1); } } } } }2,递归(还不会)import java.util.*; public class 书院主持人 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); System.out.println(zcr(m,n)); } public static int zcr(int n,int m){ if (m==1) { return m; } return (zcr((m-1),n)+n-1)%m+1; } }这个题就是所谓的约瑟夫环,约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1。分析:(1)由于对于每个人只有死和活两种状态,因此可以用布尔型数组标记每个人的状态,可用true表示死,false表示活。(2)开始时每个人都是活的,所以数组初值全部赋为false。(3)模拟杀人过程,直到所有人都被杀死为止。
2020年03月29日
691 阅读
0 评论
1 点赞
2020-03-28
算法提高 成绩排序
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 给出n个学生的成绩,将这些学生按成绩排序, 排序规则,优先考虑数学成绩,高的在前;数学相同,英语高的在前;数学英语都相同,语文高的在前;三门都相同,学号小的在前输入格式 第一行一个正整数n,表示学生人数 接下来n行每行3个0~100的整数,第i行表示学号为i的学生的数学、英语、语文成绩输出格式 输出n行,每行表示一个学生的数学成绩、英语成绩、语文成绩、学号 按排序后的顺序输出样例输入21 2 32 3 4样例输出2 3 4 21 2 3 1数据规模和约定 n≤100import java.util.*; public class 成绩排序 { public static class student { public int math; public int engilsh; public int chinese; public int id; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt(); student[] student = new student[n]; for (int i = 0; i < n; i++) { student[i] = new student(); student[i].math = sc.nextInt(); student[i].engilsh = sc.nextInt(); student[i].chinese = sc.nextInt(); student[i].id = i + 1; } for (int i = 0; i < student.length; i++) { for (int j = i; j < student.length; j++) { if (student[i].math < student[j].math) { student temp = student[i]; student[i] = student[j]; student[j] = temp; }else if (student[i].math==student[j].math) { if (student[i].engilsh<student[j].engilsh) { student temp = student[i]; student[i] = student[j]; student[j] = temp; }else if (student[i].engilsh==student[j].engilsh) { if (student[i].chinese<student[j].chinese) { student temp = student[i]; student[i] = student[j]; student[j] = temp; }else if (student[i].chinese==student[j].chinese) { if (student[i].id>student[j].id) { student temp = student[i]; student[i] = student[j]; student[j] = temp; } } } } } } for (int i = 0; i < student.length; i++) { System.out.println(student[i].math + " " + student[i].engilsh + " " + student[i].chinese + " " + student[i].id); } } }
2020年03月28日
832 阅读
0 评论
0 点赞
1
...
53
54
55
...
64