首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
13,374 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
10,986 阅读
3
gradle-5.4.1-all.zip下载
8,877 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
7,835 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,874 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
624
篇文章
累计收到
617
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
449
篇与
的结果
2020-03-15
java求质数的4种方法
第一种:双重for循环 使除数与被除数个个计算,效率极低public void test1(int n){ long start = System.currentTimeMillis(); //取开始时间 int num=0; boolean sign; for(int i=2;i<n;i++){ if(i % 2 == 0 && i != 2 ) continue; //偶数和1排除 sign=true; for (int j=2;j<i;j++){ if(i%j==0){ sign=false; break; } } if (sign){ num++; /* System.out.println(""+i);*/ } } System.out.println(n+"以内的素数有"+num+"个"); long end = System.currentTimeMillis(); System.out.println("The time cost is " + (end - start)); System.out.println(""); }第二种:主要考虑2 ~ i/2之间的数 ,效率比第一种提高一半public void test2(int n){ long start = System.currentTimeMillis(); //取开始时间 int num=0; int j; boolean sgin; for (int i = 2; i <= n; i++) { if(i % 2 == 0 && i != 2 ) continue; //偶数和1排除 sgin = true; for (j = 2; j <= i/2 ; j++) { if (i % j == 0) { sgin= false; break; } } //打印 if (sgin) { num++; /* System.out.println(""+i);*/ } } System.out.println(n+"以内的素数有"+num+"个"); long end = System.currentTimeMillis(); System.out.println("The time cost is " + (end - start)); System.out.println(""); }第三种:使用开方去过滤 Math.sqrt(i)public void test3(int n){ long start = System.currentTimeMillis(); //取开始时间 int num=0; int j; boolean sgin; for (int i = 2; i <= n; i++) { if(i % 2 == 0 && i != 2 ) continue; //偶数和1排除 sgin= true; for (j = 2; j <= Math.sqrt(i) ; j++) { if (i % j == 0) { sgin = false; break; } } //打印 if (sgin) { num++; /* System.out.println(""+i);*/ } } System.out.println(n+"以内的素数有"+num+"个"); long end = System.currentTimeMillis(); System.out.println("The time cost is " + (end - start)); System.out.println(""); }第四种:逆向思维筛选质素,最为高效 public void test4(int n){ long start = System.currentTimeMillis(); //取开始时间 //素数总和 int sum = 0; //1000万以内的所有素数 //用数组将1000万以内的数分为两大派系,素数用0代替数值,合数用1代替数值; //一开始默认全部为素数,所以值全部为0,等到开始筛选的时候再把为合数的赋值为1 int num[] = new int[n]; num[0] = 1; //由于1规定不是素数,所以要提前用1标值 //根据埃氏筛法的结论,要得到自然数 N 以内的全部素数,必须把不大于" 二次根号 N "的所有素数的倍数剔除,剩下的就是素数 double prescription = Math.sqrt(n); for (int i = 2; i <= prescription; i++) { //开始把所有素数的倍数剔除,剩下的就是素数 for (int j = i*i; j <= n; j+=i) { //从i*i开始去除,因为比i*i小的倍数,已经在前面去除过了 //例如:i=5 //5的2倍(10),3倍(15),在i=2的时候,已经去除过了 num[j-1] = 1; //把素数的倍数剔除,也就是赋值为1,不是素数就是合数 } } //遍历数组,把值为0的数全部统计出来,得到素数之和 for (int i = 0; i < num.length; i++) { if(num[i]==0) sum++; } System.out.println(n+"以内的素数有"+sum+"个"); long end = System.currentTimeMillis(); System.out.println("The time cost is " + (end - start)); System.out.println(""); }
2020年03月15日
897 阅读
0 评论
1 点赞
2020-03-15
python pip国内镜像安装方法以及pycharm换源
1.更换源pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple2.升级源python -m pip install --upgrade pip在线安装pip install 模块名如果网络不好可以使用国内镜像, pip install xx -i http://xxx 国内的几个常用镜像地址:豆瓣 : https://pypi.douban.com/simple中国科学科技大学 : https://mirrors.ustc.edu.cn/pypi/web/simple/清华大学 :https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/离线安装下载好压缩包 ->解压 -> 在解压目录的当前文件夹下,打开终端python setup.py install.whl文件安装 :pip install xxx.whlPycharm换源
2020年03月15日
1,197 阅读
0 评论
0 点赞
2020-03-15
Python 操作配置文件
Python 标准库的 ConfigParser 模块提供了一套完整的 API 来读取和操作配置文件。文件格式配置文件中包含一个或多个 section,每个 section 都有自己的 option;section 用 [sect_name] 表示,每个 option 是一个键值对,使用分隔符 = 或者 : 隔开;在 option 分隔符两端的空格会被忽略掉;配置文件使用 # 注释;示例配置文件 dbconf.cfg;[dbconfig]# 数据库读库链接信息host=127.0.0.1user=root passwd=root database=banma_finance port=3306示例配置文件 book.info[book]# 标题title: Core Pythonversion: 2016009021[hardcopy]pages:350操作配置文件配置文件的读取1 实例化 ConfigParser# 实例化 CoinfigParser 并加载配置文件 # 实例化 dbconf 的解析器 db_config_parser = ConfigParser.SafeConfigParser() db_config_parser.read('dbconf.cfg') # 实例化 book_info 的解析器 book_info_parser = ConfigParser.SafeConfigParser() book_info_parser.read('book.info')2 读取文件节点信息# 获取 section 信息 print db_config_parser.sections() print book_info_parser.sections() # 打印书籍的大写名称 print string.upper(book_info_parser.get("book","title")) print "by", book_info_parser.get("book","author") # 格式化输出 dbconf 中的配置信息 for section in db_config_parser.sections(): print section for option in db_config_parser.options(section): print " ", option,"=",db_config_parser.get(section,option)输出结果:['dbconfig']['book', 'hardcopy']CORE PYTHONby Jack dbconfig host = 127.0.0.1 user = root passwd = root database = banma_finance port = 3306配置文件的写入配置文件的写入与配置文件的读取方式基本一致,都是先操作对应的section,然后在 section 下面写入对应的 option;# !/usr/bin/python # coding:utf-8 import ConfigParser sys # 初始化 ConfigParserconfig_writer = ConfigParser.ConfigParser() # 添加 book 节点 config_writer.add_section("book") # book 节点添加 title,author 配置 config_writer.set("book","title","Python: The Hard Way") config_writer.set("book","author","anon") # 添加 ematter 节点和 pages 配置 config_writer.add_section("ematter") config_writer.set("ematter","pages",250) # 将配置信息输出到标准输出 config_writer.write(sys.stdout) # 将配置文件输出到文件 config_writer.write(open('new_book.info','w'))输出结果:[book]title = Python: The Hard Wayauthor = anon[ematter]pages = 250配置文件的更新配置文件的更新操作,可以说是读取和写入的复合操作。如果没有最终的 write 操作,对于配置文件的读写都不会真正改变配置文件信息。# !/usr/bin/python# coding:utf-8import ConfigParserimport sysreload(sys)sys.setdefaultencoding('UTF-8')# 初始化 ConfigParserupdate_config_parser = ConfigParser.ConfigParser()update_config_parser.read('new_book.info')print "section 信息:",update_config_parser.sections()# 更新作者名称print "原作者:",update_config_parser.get("book","author")# 更改作者姓名为 Jackupdate_config_parser.set("book","author","Jack")print "更改后作者名称:",update_config_parser.get("book","author")# 如果 ematter 节点存在,则删除if update_config_parser.has_section("ematter"): update_config_parser.remove_section("ematter")# 输出信息update_config_parser.write(sys.stdout)# 覆盖原配置文件信息update_config_parser.write(open('new_book.info','w'))
2020年03月15日
727 阅读
0 评论
0 点赞
2020-03-15
python time常用格式化
常用的时间函数如下获取当前日期:time.time()获取元组形式的时间戳:time.local(time.time())格式化日期的函数(基于元组的形式进行格式化):(1)time.asctime(time.local(time.time()))(2)time.strftime(format[,t])将格式字符串转换为时间戳:time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')延迟执行:time.sleep([secs]),单位为秒例1:# -*- coding:utf-8 -*- import time #当前时间 print time.time() #时间戳形式 print time.localtime(time.time()) #简单可读形式 print time.asctime( time.localtime(time.time()) ) # 格式化成2016-03-20 11:45:39形式 print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 格式化成Sat Mar 28 22:24:24 2016形式 print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) # 将格式字符串转换为时间戳 a = "Sat Mar 28 22:24:24 2016" print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))输出为1481036968.19 time.struct_time(tm_year=2016, tm_mon=12, tm_mday=6, tm_hour=23, tm_min=9, tm_sec=28, tm_wday=1, tm_yday=341, tm_isdst=0) Tue Dec 06 23:09:28 2016 2016-12-06 23:09:28 Tue Dec 06 23:09:28 2016 1459175064.0例2:某时间与当前比较,如果大于当前时间则调用某个脚本,否则等待半个小时候后继续判断#判断当前时间是否超过某个输入的时间# -*- coding:utf-8 -*- import time import sys import os def Fuctime(s): if time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))>s: return True else: return False while(1): if Fuctime('2016-12-05 00:00:00'): #调用某个路径下的脚本的简便方法 os.system("python ./../day_2/Prime.py ./../day_2/inti_prime.txt ./../day_2/res_prime.txt") break else: time.sleep(1800) continuepython中时间日期格式化符号:%y 两位数的年份表示(00-99)%Y 四位数的年份表示(000-9999)%m 月份(01-12)%d 月内中的一天(0-31)%H 24小时制小时数(0-23)%I 12小时制小时数(01-12)%M 分钟数(00=59)%S 秒(00-59)%a 本地简化星期名称%A 本地完整星期名称%b 本地简化的月份名称%B 本地完整的月份名称%c 本地相应的日期表示和时间表示%j 年内的一天(001-366)%p 本地A.M.或P.M.的等价符%U 一年中的星期数(00-53)星期天为星期的开始%w 星期(0-6),星期天为星期的开始%W 一年中的星期数(00-53)星期一为星期的开始%x 本地相应的日期表示%X 本地相应的时间表示%Z 当前时区的名称%% %号本身
2020年03月15日
735 阅读
0 评论
0 点赞
2020-03-15
Python cookie保存为本地文件,二次利用
There is no immediate way to do so, but it's not hard to do.You can get a CookieJar object from the session as session.cookies, you can use pickle to store it to a file.A full example:import requests, pickle session = requests.session() # Make some calls with open('somefile', 'wb') as f: pickle.dump(session.cookies, f)Loading is then:session = requests.session() # or an existing session with open('somefile', 'rb') as f: session.cookies.update(pickle.load(f))The requests library has uses the requests.cookies.RequestsCookieJar() subclass, which explicitly supports pickling and a dict-like API, and you can use the RequestsCookieJar.update() method to update an existing session cookie jar with those loaded from a pickle file.
2020年03月15日
615 阅读
0 评论
0 点赞
2020-03-14
试题 算法提高 分数统计
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 2016.4.5已更新此题,此前的程序需要重新提交。问题描述 给定一个百分制成绩T,将其划分为如下五个等级之一: 90~100为A,80~89为B,70~79为C,60~69为D,0~59为E 现在给定一个文件inp,文件中包含若干百分制成绩(成绩个数不超过100),请你统计五个等级段的人数,并找出人数最多的那个等级段,按照从大到小的顺序输出该段中所有人成绩(保证人数最多的等级只有一个)。要求输出到指定文件oup中。输入格式 若干0~100的正整数,用空格隔开输出格式 第一行为5个正整数,分别表示A,B,C,D,E五个等级段的人数 第二行一个正整数,表示人数最多的等级段中人数 接下来一行若干个用空格隔开的正整数,表示人数最多的那个等级中所有人的分数,按从大到小的顺序输出。样例输入100 80 85 77 55 61 82 90 71 60样例输出2 3 2 2 1385 82 80import java.util.*; public class fenshutongji { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int a=0,b=0,c=0,d=0,e=0; int n = sc.nextInt(); int[]list = new int[n]; for (int i = 0; i < list.length; i++) { list[i]=sc.nextInt(); } ArrayList<Integer> result0 = new ArrayList<Integer>(); ArrayList<Integer> result1 = new ArrayList<Integer>(); ArrayList<Integer> result2 = new ArrayList<Integer>(); ArrayList<Integer> result3 = new ArrayList<Integer>(); ArrayList<Integer> result4 = new ArrayList<Integer>(); for (int i = 0; i < list.length; i++) { if (list[i]<=100&&list[i]>=90) { result0.add(list[i]); a++; }else if (list[i]<=89&&list[i]>=80) { result1.add(list[i]); b++; }else if (list[i]<=79&&list[i]>=70) { result2.add(list[i]); c++; }else if (list[i]<=69&&list[i]>=60) { result3.add(list[i]); d++; }else if (list[i]<=59&&list[i]>=0) { result4.add(list[i]); e++; } } int []index = {a,b,c,d,e}; for (int i = 0; i < index.length; i++) { System.out.print(index[i]+" "); } int temp=0,max=0; for (int i = 0; i < index.length; i++) { if (index[i]>temp) { temp = index[i]; max = i; } } System.out.println(" "+temp); //应题目要求从大到小输出,然后就。。。先顺序排序,再逆转列表 if (max==0) { Collections.sort(result0); Collections.reverse(result0); for (int i = 0; i < result0.size(); i++) { System.out.print(result0.get(i)+" "); } }else if (max==1) { Collections.sort(result1); Collections.reverse(result1); for (int i = 0; i < result1.size(); i++) { System.out.print(result1.get(i)+" "); } }else if (max==2) { Collections.sort(result2); Collections.reverse(result2); for (int i = 0; i < result2.size(); i++) { System.out.print(result2.get(i)+" "); } }else if (max==3) { Collections.sort(result3); Collections.reverse(result3); for (int i = 0; i < result3.size(); i++) { System.out.print(result3.get(i)+" "); } }else if (max==4) { Collections.sort(result4); Collections.reverse(result4); for (int i = 0; i < result4.size(); i++) { System.out.print(result4.get(i)+" "); } } } }
2020年03月14日
511 阅读
0 评论
0 点赞
2020-03-14
试题 算法提高 一元一次方程
资源限制时间限制:1.0s 内存限制:512.0MB 输入一元一次方法的ax+b=0的解。且数据均在double类型以内,且一定有解(保留2位小数)样例输入2 6样例输出-3.00import java.text.DecimalFormat; import java.util.*; public class yiyuanyici { /** * @param args * 试题 算法提高 一元一次方程 */ public static void main(String[] args) { // TODO Auto-generated method stub //初始化保留小数 DecimalFormat df = new DecimalFormat("0.00"); Scanner sc = new Scanner(System.in); double a = sc.nextDouble(); double b = sc.nextDouble(); //保留两位小数计算 String result = df.format(-(b/a)); System.out.println(result); } }
2020年03月14日
763 阅读
0 评论
0 点赞
1
...
59
60
61
...
65