- 博客(15)
- 收藏
- 关注
原创 康托展开及康托逆展开
康托展开(求全排列的某一排列的次序即 康托映射 )X = A[0] * (n-1)! + A[1] * (n-2)! + … + A[n-1] * 0!A[i] 指的是位于 已排列的排列 的位置i后面的数小于 A[i] 值的个数,后面乘的就是后面还有多少个数的阶乘。说明 :这个算出来的数康拖展开值,是在所有排列次序 - 1 的值, 【因此 X+1 即为在全排列中的次序!!】例如:在(...
2019-11-05 12:16:53 275
原创 sscanf 和 sprintf
// 面向字符串的格式化输入输出 sscanf() 与 sprintf()#include <iostream>#include <cstring>using namespace std;int main(){ char str[128] = {0}; int data = 1024; sprintf(str, "Sstart%daAbcdD DB 1H", data); cout << "length:" <<
2021-04-15 21:31:10 83
原创 PAT 1038 统计同成绩学生
今后我会把一些做题的经验分享在CSDN上,主要是为了分享写代码的快乐,当然还有一些代码的小细节。先贴题:本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第 1 行给出不超过 10^5 的正整数 N,即学生总人数。随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔。最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空...
2020-01-21 18:50:46 114
原创 进制转换器
仅有十进制转换为 base 进制#include <stdio.h>int main(){ int A, B; int base;//进制 scanf("%d %d %d", &A, &B, &base); int sum = A + B; if(sum == 0) { printf("0"); } int eightbase_va...
2019-11-09 12:10:39 116
原创 Soundex 算法 (散列算法)(非线性检索人名)
Soundex 算法遵循如下4个原则【规则1】首先保存姓名首字母,然后从剩余字母中删除所有a、e、h、i、o、u、w、y;【规则2】按照如下规则为剩余字母标上序号;b, f, p, v — 1c, g, j, k, q, s, x, z — 2d, t — 3l — 4m, n — 5r — 6【规则3】在原姓名中,相邻连续出现的相同字母只保留第一次出现者,其余删除;【规则4】...
2019-11-09 12:03:44 316
原创 多功能日期查询小工具
#include <stdio.h>//规定:每年2月的最后一天为末日 struct date{ int i;//天干 : 甲乙丙丁戊己庚辛壬癸 int j;//地支 : 子丑寅卯辰巳午未申酉戌亥 int year; int month; int day; int week;//对应日期是星期几 取值为【0,6】 int animal_sign;//生...
2019-11-09 11:59:38 221
原创 gcd(欧几里得算法)(辗转相除法)
用于求最大公约数普通写法:#include <iostream>using namespace std;int main(){ int m = 0, n = 0, r = 0;// 规定 m > n ,r为 m 除以 n 的余数 cin >> m >> n; if(m < n) { swa...
2019-11-05 12:52:29 175
原创 牛顿法
#include <stdio.h>#include <math.h>double fun(int a, double b){ double ave = (b+a/b)/2; return ave;}int main(){ int a; scanf("%d", &a); double b/*猜测的数字*/, ave/*(猜测的数字b)和(数...
2019-11-05 12:49:52 129
原创 位运算的简单介绍及使用
#include <stdio.h>int main(){ int a, b; scanf("%d %d", &a, &b);//b 不能等于 0 !!! printf("%d", a&b);//如果 a = 5; b = 28; 得到的答案就是:00101(5) & 11100(28) 得到 00100(4) return 0;}...
2019-11-05 12:47:14 89
原创 年龄排序(散列表)
问题描述:一个城市里有 n(n>=100000 , 且最大年龄为100岁) 个人,现在要统计他们的年龄。使用了哈希散列表的思想!#include <stdio.h>int main(){ int n = 0; scanf("%d", &n); for(; n != 0;) { int age[101] = {0}; int s[n]; int...
2019-11-05 12:37:37 415
原创 莱文斯坦距离
莱文斯坦距离,又称 Levenshtein 距离,是编辑距离的一种。指两个字串之间,由一个转成另一个所需的最少编辑操作次数.允许的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离:编辑距离是针对二个字符串(例如英文字)的差异程度的量化量测,量测方式是看至少需要多少次的处理才能将一个字符串变成另一个字符串。#include <stdio.h>#inc...
2019-11-05 12:31:27 252
原创 结构体排序(多个关联数组的排序)
// C语言的结构体排序实现方法:#include <iostream>#include <algorithm>using namespace std;struct data{ int a; int b; void Init() { cin >> a >> b; }};boo...
2019-11-05 12:09:35 493
原创 二维数组的输入输出及横向排序处理
#include <iostream>#include <cstring>#include <algorithm>using namespace std;int main(){ const int width = 3; const int length = 5; int s[width][length]; for(i...
2019-11-05 12:06:20 651
原创 二分查找
#include <stdio.h>//对一组已排序的数据进行查找,二分查找是效率最高的查找算法 !!int Binary_search(int s[], int size, int c){size–;int i = size/2;for(; c != s[i]; ){if(c > s[i]){i = (i + size)/2;}else{i = i/...
2019-11-05 11:59:51 100
原创 0_Array
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入struct...
2019-11-05 11:55:57 93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人