num

java中的递归

血红的双手。 提交于 2020-01-30 17:25:59
今天我们就来说说递归 白话讲:就是自己调用自己 递归:指在当前方法内调用自己的这种现象 递归的分类 递归分为两类,直接递归和间接递归 直接递归称为方法自身调用自己 间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法 递归的注意事项 递归一定要有条件限定,保证递归能够停止下来,否则会发生内存溢出 在递归中虽然有限定条件,但是递归次数不能太多,否则也会发生栈内存溢出 构造方法禁止递归,为何了:因为构造方法是创建对象使用的,总不能让对象一直创建下去把。 代码演示递归 public class Demo7 { public static void main(String[] args) { digui(1); } //定义一个静态方法 private static void digui(int i){ System.out.println(i); digui(++i); } } //结果如下图所示 我们加个条件试试 public class Demo7 { public static void main(String[] args) { digui(1); } //定义一个静态方法 private static void digui(int i){ System.out.println(i); //我们来添加一个递归结束的限定条件 if(i == 5000){ return;

微信小程序事件绑定和点击事件

亡梦爱人 提交于 2020-01-30 16:58:41
微信小程序事件绑定和点击事件 < ! -- 1 需要给input 标签绑定 input 事件 绑定关键字 bindinput 2 如何获取 输入框的值 通过事件源对象来获取 e . detail . value 3 把输入框的值 赋值到 data 当中 不能直接: 1 this . data . num = e . detail . value 2 this . num = e . detail . value 正确的写法: this . setData ( { num : e . detail . value } ) 4 需要加入一个点击事件 1 bindtap 2 无法在小程序当中的事件中直接传参 3 通过自定义属性的方式来传递参数 4 事件源中获取 自定义属性 -- > demo.wxml < input type = " " bindinput = " handleInput " > </ input > < button bindtap = " handtap " data-operation = " {{1}} " > + </ button > < button bindtap = " handtap " data-operation = " {{-1}} " > - </ button > < view > {{num}} </ view > demo.json

【PTA】家庭房产

好久不见. 提交于 2020-01-30 15:53:55
题目重述 给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。 输入格式: 输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产: 编号 父 母 k 孩子1 … 孩子k 房产套数 总面积 其中编号是每个人独有的一个4位数的编号;父和母分别是该编号对应的这个人的父母的编号(如果已经过世,则显示-1);k(0≤k≤5)是该人的子女的个数;孩子i是其子女的编号。 输出格式: 首先在第一行输出家庭个数(所有有亲属关系的人都属于同一个家庭)。随后按下列格式输出每个家庭的信息: 家庭成员的最小编号 家庭人口数 人均房产套数 人均房产面积 其中人均值要求保留小数点后3位。家庭信息首先按人均面积降序输出,若有并列,则按成员编号的升序输出。 输入样例: 10 6666 5551 5552 1 7777 1 100 1234 5678 9012 1 0002 2 300 8888 - 1 - 1 0 1 1000 2468 0001 0004 1 2222 1 500 7777 6666 - 1 0 2 300 3721 - 1 - 1 1 2333 2 150 9012 - 1 - 1 3 1236 1235 1234 1 100 1235 5678 9012 0 1 50 2222 1236 2468 2 6661 6662 1

函数高级小结

前提是你 提交于 2020-01-30 15:41:28
函数高级小结 一、闭包函数 def f1(): x = 10 def f2(): print(x) # 10 x = 1000 f1() # 10 print(x) # 1000 把函数和变量一起打包拿出去了,内部函数包含对外部作用于而非全局作用域的引用 def f1(x): def f2(): print(x) # 10 return f2 f3 = f1(10) # f2 f3() # f2() # 10 f3() # 10 f3() # 10 f4 = f1(5) f4() # 5 f4() # 5 二、装饰器 不改变函数体代码,并且不改变函数调用方式,为函数添加功能,它本质就是一个函数 def f1(x): def f2(): print(x) # 10 return f2 f2 = f1() f2() # f2() 完善装饰器 def login_deco(func): def wrapper(*args,**kwargs): login_judge = login() if login_judge: res = func(*args,**kwargs) return res return wrapper @login_deco def shopping(): pass # shopping = deco(shopping) # shopping() 三、三层装饰器

NOIP复习模拟赛day5

我怕爱的太早我们不能终老 提交于 2020-01-30 14:26:40
前言 今天的题目真TM的♂...... 题目 1.小半 ( h alf .pas/c/cpp) 【问题描述】 “释然、慵懒、尽欢, 时间风干后你与我再无关, 没答案,怎么办,看不惯自我欺瞒。 ” 灯火阑珊,释然的少年写下了n个正整数,它们的乘积为p。 月色旖旎,少年忽然想到,如果把 p再乘上一个正整数q能让它们的积为某个数的阶乘,则称这个数的阶乘为完美阶乘,这个数则为完美数,他厌倦了那些纷扰,只想要知道完美数的最小值,希望你能告诉他。 “灯火阑珊, 我的心借了你的光是明是暗。 ” ——《小半》 【输入】 共两行。 第一行一个正整数 n 。 第二行 n 个正整数 a[i],代表少年写下的n 个 数。 【输出】 共一行 一个正整数,代表完美数的最小值。 【输入输出样例】 1 6 3 样例解释:当p=6,q=1时,p*q=3! 【数据范围】 对于 10%的数据,n<=10 对于 30%的数据,n<=1000 对于 100%的数据,n<=100000,a[i]<=100000 官方题解: 10%~30%:各种暴力 100%:题目要求一个最小的m使m!包含p这个因子。 可以把p分解质因数,假设p=∏ai^bi(ai为质数),那么只要m!包含了每个ai^bi,m!就包含p。 所以对于每个ai^bi,分别求出满足条件的最小的m,取最大值即可。 怎么求m? 先看一个简单的问题: 27

UVa 11462 - Age Sort (桶排序)

若如初见. 提交于 2020-01-30 14:00:32
Age Sort Input: Standard Input Output: Standard Output You are given the ages (in years) of all people of a country with at least 1 year of age. You know that no individual in that country lives for 100 or more years. Now, you are given a very simple task of sorting all the ages in ascending order. Input There are multiple test cases in the input file. Each case starts with an integer n (0< n <=2000000), the total number of people. In the next line, there are n integers indicating the ages. Input is terminated with a case where n = 0. This case should not be processed. Output For each case,

20180219膜你赛题解

ⅰ亾dé卋堺 提交于 2020-01-30 12:42:51
介于本场比赛题目难度并不按照难度顺序排列,所以题解顺序不同。 需要题面或数据可以私聊我QQ(不一定在):468170499. T3:最短路(path) 来源: jzoj3470 Describe: 给定一个n个点m条边的有向图,有k个标记点,要求从规定的起点按任意顺序经过所有标记点到达规定的终点,问最短的距离是多少。 Hint: 20%的数据n<=10。 50%的数据n<=1000。 另有20%的数据k=0。 100%的数据n<=50000,m<=100000,0<=k<=10,1<=z<=5000。 解题思路: 我在考场上写这道题的时候,一眼没看出来。在最后看了一眼数据,发现k<=10,那么答案就非常显然了。我们可以把标记点为起点跑一边最短路。我感觉可能会卡SPFA(然而出题人很凉心),所以就写了一个堆优化的Dijkstra。时间复杂度为O(log(N + M) * N * K)(我习惯变量用小写)。因为k很小,所以我们可以枚举所有的方案,再跑一层k的循环判断。时间复杂度为(K! * K),勉强不会超时,可以写状态压缩优化成O(2^K * K * K),因为这道题暴力能过,所以就没写,以后有空再补吧。这道题我在考场上是只过了一个样例,只有九分。主要是没看清题,有向图连了无向边。还有dis数组因为不能开到n方的大小,所有有一维应该要存点的编号,然后我在这里好像弄错了一点什么。。。

js基础中的概要案例统计

本秂侑毒 提交于 2020-01-30 10:12:31
** 1.交换两个变量的值 var apple1 = '青苹果' ; var apple2 = '红苹果' ; var temp = '' ; temp = apple1 ; apple1 = apple2 ; apple2 = temp ; console . log ( apple1 , apple2 ) ; ** 2.数值的最大值,最小值 console . log ( Number . MAX_VALUE ) ; console . log ( Number . MIN_VALUE ) ; console . log ( Number . MAX_VALUE * 2 ) ; //无穷大 console . log ( - Number . MAX_VALUE * 2 ) ; //无穷小 ** 3.闰年平年的判断 //4年一闰,百年不闰,400年再闰,能被四整除且不能被100整除或能被400整除 let year = prompt ( '请输入年份' ) ; if ( year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ) { alert ( '你输入的是闰年' ) } else { alert ( ' 你输入的是平年' ) } ** 3.判断语句的用法 //1.if的用法适用于范围的判断 let score =

python3 字典

懵懂的女人 提交于 2020-01-30 07:33:00
字典是存储一对关系的映射数据 姓名:xx 血量:xxxx 金钱:xxx 用key:value作为关系,那么key就是要唯一的才行,并且不能修改,才能保证用过key找到value 字典 格式:{}方括号,一对关系以:隔开,数据以逗号分隔 函数方式:dict(),实现列表或元组转换成字典 key不能为列表,因为key是不可变类型 a = { 'name' : 'python' , 'num' : 1111 } b = { ( 'name' , 'python' ) : 'python' } print ( a ) print ( b ) key可以为元组,因为元组是不能修改的 dicta = [ [ 'a' , 1 ] , [ 'b' , 2 ] ] dicta_d = dict ( dicta ) print ( dicta_d ) 列表和元组都能以 dict 函数转成字典,但是必须要以一对出现,也就是一个列表或元组,只能有 2 个元素 结果 { 'name' : 'python' , 'num' : 1111 } { ( 'name' , 'python' ) : 'python' } { 'a' : 1 , 'b' : 2 } 字典基础操作 列表和元组是以索引号访问的,字典是以key,也就是字典的索引是key 访问 a = { 'name' : 'python' , 'num'

ACM2专题二

两盒软妹~` 提交于 2020-01-30 07:26:13
专题二 – 选择结构设计 (16/5+11) 基础 1117 1154 1118 1580 1160 //5 拓展 1148 1153 1190 1202 1119 1133 1158 1177 1183 2732 3102 //11 [1160]输入年月并判断该月有几天 # include <stdio.h> int main ( ) { int y , m , day_num ; //y代表年份,m代表月份,day_num代表天数 scanf ( "%d\\%d" , & y , & m ) ; //输入年和月!!!!!!!两个\ switch ( m ) { //判断所在月份的天数 case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 : day_num = 31 ; break ; //1,3,5,7,8,10,12月有31天 case 4 : case 6 : case 9 : case 11 : day_num = 30 ; break ; //4,6,9,11月有30天 case 2 : if ( y % 4 == 0 && y % 100 != 0 || y % 400 == 0 ) day_num = 29 ; //闰年2月29天 else day_num = 28 ; break ; /