num

对“通用分页类”的测试

妖精的绣舞 提交于 2020-02-16 03:33:40
为了方便,我把分页类的完整代码贴出了,另外再贴个测试的代码。 分页类代码: 1 2 <!-- 3 类名:php通用分页类 4 版本: 2.0 5 功能:实现php中常用的页面分页,提供图像文字分页链接、图像分页链接。文字链接时,可自定义链接文字,图像链接时,可自定义图片。并且两种方式都可自定义样式。 6 作者:KnowMore 7 邮箱:hkmgjsf@yahoo . com . cn 8 电话: 15976526525 9 时间: 2007.5 . 10 10 附注:如发现Bug,麻烦告知一声,以便能及时纠正,谢谢!可自由转载,但请注明作者、出处。 11 --> 12 13 <? 14 class page 15 { 16 var $all_count , $cur_page , $sql , $conn , $page_size , $all_page , $cur_url , $page_num ; 17 18 function page( $conn ) // 构造函数 19 { 20 $this -> conn = $conn ; // 数据库连接 21 } 22 23 function init() // 初始化函数 24 { 25 $this -> get_count(); // 获取总纪录数 26 $this -> get_curpage(); // 获取当前页数

递归函数的使用及注意事项

两盒软妹~` 提交于 2020-02-16 03:15:11
#递归函数:函数内调用自身的函数(俄罗斯套娃) 举例:求4的阶乘 分析: 4! = 4 * 3! 3! = 3 * 2! 2! = 2 * 1! 1! = 1 先定义函数,只有当num 为1时,是他本身,所以只有这一个特例而已,用if写出来,其余的情况用else写。 >> def rec ( num ) : >> if num == 1 : >> return 1 >> else : >> return num * rec ( num - 1 ) >> result = rec ( 4 ) >> print ( result ) 24 不知道else后怎么写,怎么办? : 函写到数第五行的时候,可以用2!来举特例。2! = 2 * 1! 先写成: return 2 * rec(1) 然后用变量num替换掉数值,变成 return num * ruc (num - 1) 注意: 递归函数容易造成死循环,原因是没有结束递归的条件,而且会造成栈溢出。 在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。 拓展: import sys #设置递归次数 sys.setrecursionlimit = 1000 #最多递归1000次 #获取递归次数

用三种循环方式求该式的近似值

こ雲淡風輕ζ 提交于 2020-02-16 03:11:09
用三种循环方式求该式的近似值 方法一(for) # include <stdio.h> int main ( ) { int i , j = 1 ; double num = 0 ; for ( i = 1 ; i < 100001 ; ) { num + = j * 1.0 / i ; i + = 2 ; j = - j ; } printf ( "%f" , num ) ; } 方法二(while) # include <stdio.h> int main ( ) { int i = 1 , j = 1 ; double num = 0 ; while ( 1.0 / i >= 0.00001 ) { num + = j * 1.0 / i ; i + = 2 ; j = - j ; } printf ( "%f" , num ) ; } 方法三(do,while) # include <stdio.h> int main ( ) { int i = 1 , j = 1 ; double num = 0 ; do { num + = j * 1.0 / i ; i + = 2 ; j = - j ; } while ( 1.0 / i >= 0.00001 ) ; printf ( "%f" , num ) ; } 来源: CSDN 作者: prime_one 链接:

leetcode 60 第K个排列 C语言实现

吃可爱长大的小学妹 提交于 2020-02-16 01:23:34
题目 leetcode 60 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: “123” “132” “213” “231” “312” “321” 给定 n 和 k,返回第 k 个排列。 说明: 给定 n 的范围是 [1, 9]。 给定 k 的范围是[1, n!]。 示例 1: 输入: n = 3, k = 3 输出: “213” 示例 2: 输入: n = 4, k = 9 输出: “2314” void dfs ( char * res , int ind , int n , int num , int k , int flag [ ] ) { if ( num > k ) { for ( int j = 1 ; j <= n ; j ++ ) { if ( flag [ j ] == 0 ) { res [ ind ] = j + '0' ; flag [ j ] = 1 ; break ; } } dfs ( res , ind + 1 , n , num / ( n - ind - 1 ) , k , flag ) ; } else { int x ; if ( k % num == 0 ) { x = k / num ; for ( int j = 1 ; j <= n ;

循环神经网络 简易使用

…衆ロ難τιáo~ 提交于 2020-02-16 01:22:56
循环神经网络 本节介绍循环神经网络,下图展示了如何基于循环神经网络实现语言模型。我们的目的是基于当前的输入与过去的输入序列,预测序列的下一个字符。循环神经网络引入一个隐藏变量H,用Ht表示H在时间步t的值。Ht的计算基于Xt和Ht−1,可以认为Ht记录了到当前字符为止的序列信息,利用Ht对序列的下一个字符进行预测。 循环神经网络的构造 我们先看循环神经网络的具体构造。假设Xt∈Rn×d是时间步t的小批量输入,Ht∈Rn×h是该时间步的隐藏变量,则: Ht=ϕ(XtWxh+Ht−1Whh+bh). 其中,Wxh∈Rd×h,Whh∈Rh×h,bh∈R1×h,ϕ函数是非线性激活函数。由于引入了Ht−1Whh,Ht能够捕捉截至当前时间步的序列的历史信息,就像是神经网络当前时间步的状态或记忆一样。由于Ht的计算基于Ht−1,上式的计算是循环的,使用循环计算的网络即循环神经网络(recurrent neural network)。 在时间步t,输出层的输出为: Ot=HtWhq+bq. 其中Whq∈Rh×q,bq∈R1×q。 从零开始实现循环神经网络 我们先尝试从零开始实现一个基于字符级循环神经网络的语言模型,这里我们使用周杰伦的歌词作为语料,首先我们读入数据: In [1]: import torch import torch.nn as nn import time import math

Pytorch深度学习(2) -- RNN及其进阶模型实现 ( GRU LSTM Deep-Rnn Bi-Rnn)

夙愿已清 提交于 2020-02-16 01:04:31
Pytorch深度学习(2) -- RNN及其进阶模型实现 0 预测训练函数 1.RNN实现 RNN小结 2.GRU实现 GRU小结 3.LSTM实现 LSTM小结 4.Deep-RNN 加入参数num_layers=2 5.Bi-Rnn实现 加入参数bidirectional=True 0 预测训练函数 def train_and_predict_rnn ( rnn , get_params , init_rnn_state , num_hiddens , vocab_size , device , corpus_indices , idx_to_char , char_to_idx , is_random_iter , num_epochs , num_steps , lr , clipping_theta , batch_size , pred_period , pred_len , prefixes ) : if is_random_iter : data_iter_fn = d2l . data_iter_random else : data_iter_fn = d2l . data_iter_consecutive params = get_params ( ) loss = nn . CrossEntropyLoss ( ) for epoch in range (

leetcode_36_有效的数独

痴心易碎 提交于 2020-02-16 00:57:39
有效的数独 描述 中等 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 ‘.’ 表示。 示例 输入: [ ["5","3",".",".","7",".",".",".","."], ["6",".",".","1","9","5",".",".","."], [".","9","8",".",".",".",".","6","."], ["8",".",".",".","6",".",".",".","3"], ["4",".",".","8",".","3",".",".","1"], ["7",".",".",".","2",".",".",".","6"], [".","6",".",".",".",".","2","8","."], [".",".",".","4","1","9",".",".","5"], [".",".",".",".","8",".",".","7","9"] ] 输出: true 输入: [ ["8","3",".",".","7",".",".",".","."], ["6",".",".",

第一次打卡

淺唱寂寞╮ 提交于 2020-02-15 23:57:34
Task 1 线性回归 从零开始代码 # import 包与模块 % matplotlib inline import torch from IPython import display from matplotlib import pyplot as plt import numpy as np import random # 设置输入特征数,即每个样本有多少特征 num_inputs = 2 # 设置样本数 num_examples = 1000 # 设置数据真实权重与偏置 true_w = [ 2 , - 3.4 ] true_b = 4.2 features = torch . randn ( num_examples , num_inputs , dtype = torch . float32 ) labels = true_w [ 0 ] * features [ : , 0 ] + true_w [ 1 ] * features [ : , 1 ] + true_b labels += torch . tensor ( np . random . normal ( 0 , 0.01 , size = labels . size ( ) ) , dtype = torch . float32 ) plt . scatter ( features [ : , 1 ] .

[noi.ac] #31 最小生成树

你。 提交于 2020-02-15 23:51:45
问题描述 小 \(D\) 最近学习了最小生成树的有关知识。为了更好地学习求最小生成树的流程,他造了一张 \(n\) 个点的带权无向完全图(即任意两个不同的点之间均有且仅有一条无向边的图),并求出了这个图的最小生成树。 为了简单起见,小 \(D\) 造的无向图的边权为 \([1,\frac{n(n-1)}{2}]\) 之间的整数,且任意两条边的边权均不一样。 若干天后,小 \(D\) 突然发现自己不会求最小生成树了。于是他找出了当时求出的最小生成树,但是原图却怎么也找不到了。于是小 \(D\) 想要求出,有多少种可能的原图。但是小 \(D\) 连最小生成树都不会求了,自然也不会这个问题。请你帮帮他。 形式化地,你会得到 \(n-1\) 个递增的正整数 \(a_1,a_2,\cdots,a_{n-1}\) ,依次表示最小生成树上的边的边权。你要求出,有多少张 \(n\) 个点的带权无向完全图,满足: 每条边的边权为 \([1,\frac{n(n-1)}{2}]\) 之间的整数; 任意两条不同的边的边权也不同; 至少存在一种最小生成树,满足树上的边权按照从小到大的顺序排列即为 \(a_1,a_2,\cdots,a_{n-1}\) (事实上,可以证明任意一张无向图的任意两棵最小生成树上的边权集合相同)。 因为答案可能很大,所以你只要求出答案对 \(10^9+7=1,000,000,007\

凯撒加密法

时光毁灭记忆、已成空白 提交于 2020-02-15 22:05:36
凯撒加密法 根据密钥以不同方式加密消息,密钥是从0到25的整数。 算法大意 将明文通过有序替换的方式变成密文, 及将明文在密文字典的位置加上密钥数值后锁定密文字典里的新文字就成了密文。 此方法缺点就是当知道了字典后可以尝试暴力破解。 代码实例 # 密文字典 global LETTERS LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 加密算法 def cliper ( msg , mode , key ) : msg = msg . upper ( ) translated = '' for symbol in msg : if symbol in LETTERS : num = LETTERS . find ( symbol ) if mode == 'encrypt' : num = num + key elif mode == 'decrypt' : num = num - key if num >= len ( LETTERS ) : num = num - len ( LETTERS ) elif num < 0 : num = num + len ( LETTERS ) translated = translated + LETTERS [ num ] else : translated = translated + symbol