算法与数据结构
Sishxo
这个作者很懒,什么都没留下…
展开
-
C语言实现 字典序问题
字典序问题在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A由26个小写字母组成。该字母表产生的升序字符串中字母从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1次。例如,a,b,ab,bc,xyz等字符串都是升序字符串。现在对字母表中产生的所有长度不超过6的升序字符串,计算它在字典中的编码。12…262728…ab…zabac…数据输入: 输入数据油文件名为input.txt的文本文件提供。文件的第1行是.原创 2020-09-26 16:58:57 · 7714 阅读 · 4 评论 -
C语言实现 竖式问题
竖式问题。找出所有形如abc*de(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但所写程序中应该输出空格,而非小数点)。样例输入:2357样例输出:<1>…775X…33-----.23252325.-----25575The number of solut.原创 2020-09-13 15:02:09 · 2438 阅读 · 0 评论 -
C语言实现 开灯问题
开灯问题。有n盏灯,编号为1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依此类推。一共有k个人,问最后有哪些灯开着?输入n和k,输出开着的灯的编号。k≤n≤1000。样例输入:7 3样例输出:1 5 6 7主要思路建立一个足够长的数组,由于第一个人把灯全部打开,可以将长度为n的部分赋值为1,代表灯开而后在循环中,寻找2,4,6…3,6,9…等等位置的开关取反在循环结.原创 2020-09-08 17:09:33 · 2592 阅读 · 0 评论 -
C语言实现 排列(permutaton)
排列(permutation)用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。在这九个数字的可能排列里,123最小,987最大,而可能的输出序列必须满足1:2:3的关系,即可知,在排列中最前边的数字,最小为123,最大为987/3=329而本题另一要点,判断三个数是不是数字组成不重复,完全用了1到9的九个数字此处可以将得到的三个数分别提取百位,十位,个位.原创 2020-09-07 17:41:41 · 899 阅读 · 0 评论 -
C语言实现 分数化小数(decimal)
C语言实现 分数化小数(decimal)输入正整数a ,b ,c ,输出a /b 的小数形式,精确到小数点后c 位。a ,b ≤106 ,c≤100。输入包含多组数据,结束标记为a =b =c =0。样例输入:1 6 40 0 0样例输出:Case 1: 0.1667计算机运算是无法限定指定保留数位的具体计算机除法的实现可以参考这本书《计算机组成与设计(硬件软件接口)》的第三章部分这道题我们采用一步步模拟手算除法的方式解决#include<stdio.h>int m原创 2020-09-06 16:48:01 · 2427 阅读 · 1 评论 -
火车调度 进出栈算法
火车调度 进出栈算法假设某火车站采用后进先出的模式。现有n列火车,调度人员给出火车进站的序列,并给出火车出站的序列,判断这个调度要求能否实现,如果能实现写出火车进站、出站的操作序列。输入:第一行为一个正整数N代表火车数量;第二行为N个字母,中间用空格分开,代表N个火车的进站顺序;第三行为N个字母,中间用空格分开,代表N个火车的离站顺序。输出:第一行输出0或1,0代表该调度无法实现,1代表可...原创 2020-04-06 18:19:54 · 4931 阅读 · 2 评论