
知识
深海幽藍
ACMer
展开
-
sort和qsort对字符数组排序
#include <iostream> #include <cstdlib> #include <cstring> #include <algorithm> using namespace std; //qsort()返回值必须是int,两个参数的类型必须都是const void *,sort()头文件#include<algor...转载 2017-12-04 19:58:26 · 1761 阅读 · 0 评论 -
c++课程设计 棋盘程序
c++课程设计:编一棋盘游戏程序,人为一方,计算机为一方,人下时字符 * 将放在所指定的位置,而计算机下时字符 @ 将放在某一空格位置。行、列、或两对角线有连续三个相同字符一方为胜方,也有平局情况。要求能动态演示。好吧,最近时间比较紧一点,课程设计修修改改总算是做出来,本来是三个人的课程设计,最后还是我一个人做,心累!虽说这程序对我们搞acm的(搞得很菜)不是很难,但是做出来还是...原创 2018-09-09 14:30:39 · 4955 阅读 · 2 评论 -
学习Java——静态内部类
当内部类只是为了将其隐藏起来,不需要与外界发生联系时,可以将内部类声明为staticpublic class outclass { private static int i=1; private int j=10; public static void func1() {} public void func2() {} static class innerc...原创 2018-05-19 22:09:50 · 210 阅读 · 0 评论 -
学习Java——实现接口s使用
实现接口的语法:<访问符>class 类名 implements 接口名{}使用implements可以实现多个接口,接口之间使用逗号间隔一个类实现接口时,必须实现接口中定义的所有没有方法体的方法,除非将该类定义为抽象类interface myinterface { public void add(int a,int b); public void volume(int x,in...原创 2018-05-19 20:03:16 · 250 阅读 · 0 评论 -
学习Java——instanceof运算符
instaceof 运算符 使用格式:<引用类型变量> instanceof <引用类型> 该表达式为boolean类型表达式,当左侧引用类型变量所引用对象的实际类型是其右侧给出的类型或其右侧给出的类型或子类类型时,表达式结果为true,否则为false。interface base { public void print(); } c...原创 2018-05-19 12:17:49 · 253 阅读 · 0 评论 -
学习Java——成员内部类
内部类是在外部类的内部在定义一个类,引入内部类的原因:内部类能够隐藏起来,不被同一包的其它类访问;内部类可以访问其所处的外部类所有属性;在回调方法处理中,匿名内部类尤为便捷,特别使GUI中的事件处理。public class outclass { private int i=10; private int j=20; private static int count=0; public s...原创 2018-05-19 11:33:34 · 186 阅读 · 0 评论 -
学习Java——局部内部类(方法内部类)
在方法中定义的内部类称为局部内部类,与局部变量相似,局部内部类不能用public或private访问修饰符进行声明 它的优势在于:它可以对外界完全隐藏起来,除了所在的方法之外,对其他方法是不透明的。此外,与其他内部类比较,局部内部内不仅可以访问包含它的外部类成员,还可以访问局部变量,但这些局部变量必须被声明为finalpublic class outclass { private int s=1...原创 2018-05-19 11:08:07 · 833 阅读 · 0 评论 -
二项式定理
实现二项式的运算:C(n,m)=n!/[m!(n-m)!] 例:c(5,2)=5!/(2!*(5-2)!)#include<iostream>using namespace std;int zuheshu(int a,int b){ int j=1; int ans=1; for(int i=a;i>a-b;i--) { ...原创 2018-04-24 18:07:23 · 560 阅读 · 0 评论 -
快速幂
快速幂求a的b次方,将b转化为二进制相加形式,例3的11次方:转化为3^(2^3+2^1+2^0)int cifang(int a,int b){ int base=a; int ans=1; while(b!=0) { if(b&1) { ans*=base; } base*=...原创 2018-04-23 22:42:34 · 137 阅读 · 0 评论 -
魔方被打乱的顺序
今天在蓝桥杯看到了一个,二阶魔方的题,突然就对魔方感兴趣,然后就想知道三阶魔方有多少种打乱方式,于是就上网搜了下,就当是个知识点吧,暂且记下了。。。。组合的数量可以按照如下方式计算:8个角块可以互换位置,存在8!种组合,又可以翻转,每个角块可以具有3种空间位置,但因为不能单独翻转一个角块,需要除以3,总共存在8!×37种组合;12个棱块可以互换位置,得到12!,又可以翻转,得到212,但因为不能单...转载 2018-03-29 16:37:42 · 1850 阅读 · 0 评论 -
素数打表模板
这个打表的效率貌似很高,据说几乎到了线性时间(并不知道真假)!!bool visit[10100000]; int prime[10000000]; void init_prim() { memset(visit, true, sizeof(visit)); int num = 0; for (int i = 2; i <= n; ...转载 2018-04-16 19:04:43 · 808 阅读 · 0 评论 -
c语言中%*s
1.在scanf中使用,则添加了*的部分会被忽略(跳过),不会被参数获取。 例如:int a,b;char b[10];scanf("%d%*s",&a,b); 输入为:12 abc 那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b) 用*和扫描集配合,可以从输入中只选出需要的内容,而忽略其余的...转载 2018-03-27 16:16:09 · 267 阅读 · 0 评论 -
小学数学
转自实验室大佬:一年级数学约数倍数:题目:如果两个数很大,怎样求最大公约数,最小公倍数?gcd(a,b) =gcd(b,a%b),对a和b求最大公约数就相当于求b与(a%b)求最大公约数最小公倍数 = 乘积 / 最大公约数public class Main{ public static void main(String[] args){ System.out.println("最大公约数:...转载 2018-03-21 22:19:18 · 387 阅读 · 0 评论 -
欧几里得算法
欧几里得算法原理欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 gcd(a,b)=gcd(b,a mod b);欧几里得算法证明过程a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r 因此d是(b,a mod b)的公约数欧几里得算法核心代码public static long gcd...转载 2018-03-29 17:44:20 · 202 阅读 · 0 评论 -
完全背包问题
本文包含的内容:<1> 问题描述<2> 基本思路(直接扩展01背包的方程)<3> 转换为01背包问题求解(直接利用01背包)<4> O(VN)的算法---------------------------------------------1、问题描述已知:有一个容量为V的背包和N件物品,第i件物品的重量是weight[i],收益是cost[i]。条件...转载 2018-03-22 20:14:41 · 159 阅读 · 0 评论 -
全排列函数next_permutation
这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件<algorithm>下面是以前的笔记 与之完全相反的函数还有prev_permutation(1) int 类型的next_permutationint main(){ int a[3];a[0]=1;a[1]=2;a[2]=3; do{cout<<a[0]<<" "<<a[1...转载 2018-02-19 13:51:35 · 171 阅读 · 0 评论 -
c++重定向输入输出
所谓重定向输出,就是可以把原本只是输出在控制台的字符,输出到你指定的路径文件中。(输入类似,就是从指定的文件中读取,而不是读取在控制台中的输入。)重定向函数可以在任何时候开启、关闭。函数名:freopen 标准声明:FILE *freopen( const char *path, const char *mode, FILE *stream ); 所在文件: <stdio.h>参数说明...转载 2018-05-25 20:27:09 · 3749 阅读 · 0 评论