
C++
小蓝的程序猿生活
学生
记录所学知识
展开
-
快速幂算法(普通幂算法进阶版)
快速幂算法(普通幂算法进阶版)具体要求:求a^b的后三位数。基本算法思想:减少指数大小,减少循环次数。以2102^{10}210为例。当指数为偶数时,先将指数除以二,再将底数平方。210=452^{10}=4^{5}210=45当指数为奇数时,将指数减一再除以二,提出底数,再将底数平方。45=4×1624^{5}=4\times 16^{2}45=4×162一直运算下去直至:210=4×25612^{10}=4\times 256^{1}210=4×2561这样,循环操作从原来的10原创 2021-10-10 19:51:55 · 268 阅读 · 0 评论 -
普通幂函数算法
普通幂函数算法具体要求:求a^b的后三位数最常见的幂函数算法long long nomalpower(long long base,long long power){ long long result=1; for(int i=1;i<=power;i++) { result*=base; //a^b } return result%1000;}着中方法存在的问题:幂函数会随着指数和底数的增加,呈爆炸式增长。当指数和底数过大时原创 2021-10-10 14:47:43 · 528 阅读 · 0 评论 -
C语言库函数-printf以及C语言数据类型
C库函数-printf:printf(“ <格式化字符串> ”,<参数>)常见的格式字符:格式字符意义d以十进制形式输出带符号整数(整数不输出符号)o以八进制形式输出无符号整数x以十六进制形式输出无符号整数c输出单个字符s输出字符串p输出指针地址e以指数形式输出单、双精度实数f以小数形式输出单、双精度实数lu32位无符号整数llu64位无符号整数案例1:输出各种格式化数据。原创 2021-09-19 13:21:40 · 420 阅读 · 0 评论 -
C++/Python中两个小于号或两个大于号的作用
两个小于号或大于号的作用在C++和Python中相同,所以在此只讲述一个例子。以C++运行环境为例:<< (数字)表示二进制左移多少位>> (数字)表示二进制右移多少位例如 :4<<2 表示4*2^2运算结果为164>>2 表示4/2^2运算结果为1<<6也就表示*2的六次方同理>>6表示为/2的六次方...原创 2021-06-26 12:59:45 · 16575 阅读 · 0 评论 -
字符串匹配(C++)
运用BF和KMP两种方法进行字符串匹配(顺序串)1.BF算法2.KMP算法例子:s=“abceebcabcabc” t=“ebca”返回值:4输入:目标串//“abceebcabcabc”模式串//“ebca”输出:成功:模式串中第一个字符在目标串中的位置不成功:-1一、BF算法int BF(sqstring s1,sqstring s2){ int i=0,j=0; while(i<s1.length&&j<s2.length) {//如果匹配原创 2021-05-02 20:18:34 · 6708 阅读 · 2 评论 -
模式匹配,BF匹配法
BF字符匹配算法运用暴力破解算法,首先考虑使用串的模式存放目标字符。先要初始化目标串和模式串再对二者进行暴力匹配暴力匹配:对两者一一比较,相同则后移,不相同则回退最终匹配成功将返回,模式串与目标串相匹配的前面字符的个数否则返回0//字符匹配(顺序串)#include<iostream>#include<malloc.h>using namespace std;const int maxsize=50; //声明串的类型typedef struct{ ch原创 2021-04-29 22:58:43 · 221 阅读 · 0 评论 -
用循环队的方式处理杨辉三角形问题(C++)
用循环队的方式处理杨辉三角形问题(C++)#include <iostream>#include<malloc.h>using namespace std;const int MAX=100;//循环队列typedef struct { int data[MAX]; int front; //头指针 int rear; //尾指针} SeqQueue;//初始化循环队列void InitQueue(SeqQueue *&q)原创 2021-04-26 17:20:37 · 506 阅读 · 0 评论 -
用队列处理约瑟夫环问题(C++)
用队列处理约瑟夫环问题(C++)#include<iostream>#include<malloc.h>using namespace std;const int maxsize=50;typedef struct//创建循环队结构体 { int data[maxsize]; int front,rear;}Squeue;void CreateQueue(Squeue *&s)//初始化循环队 函数 { s=(Squeue *)malloc(sizeo原创 2021-04-26 17:14:57 · 1507 阅读 · 4 评论