算法设计
烂笔头NI
在走下坡路的时候最舒服
展开
-
数独问题
数独问题数独是根据9 9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。每一道合格的数独谜题都有且仅有唯一答案。 输出该答案。 #include<stdio.h>#define N 9int a[N][N]={0,0,5,3,0,0,0,0,0, 8,0,0,0,0,0,0,2,0,原创 2017-05-25 19:49:31 · 335 阅读 · 0 评论 -
李白喝酒问题
李白喝酒问题话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,答案一共有多少呢?请你计算出所有可能方案的个数。#include<stdio.h>int count=0;原创 2017-05-25 19:30:06 · 865 阅读 · 0 评论 -
最优分解问题
最优分解问题设n是一个正整数,现在要求将n分解为若干个互不相同的自然数的和,使这些自然数的乘积最大。 输入 10 输出 30 #include <stdio.h>void main(){ int n,i,j; int sum=1; int a[10]={0}; a[0]=2; printf("输入要分解的数:\n"); scan原创 2017-05-25 19:06:58 · 1134 阅读 · 0 评论 -
众数问题
众数问题所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。 现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。#include <stdio.h>#define N 100int main(){ int原创 2017-05-25 19:08:44 · 468 阅读 · 0 评论 -
39级台阶问题
39级台阶问题小明看完电影《第39级台阶》,离开电影院的时候,他数了数视觉的台阶数,恰好是39级。 站在台阶前,他突然又想起一个问题:如果我每一步只能迈上1个或2个台阶,先迈左脚,然后左右交替,最后一步迈右脚,也就是说一共要迈偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请利用计算机的优势,帮助小明寻找答案。 #include<stdio.h>int count=0; //原创 2017-05-25 19:09:18 · 458 阅读 · 0 评论 -
连续邮资问题
连续邮资问题假设某国家发行了n种不同面值的邮票,并且规定每张信封上最多只允许贴m张邮票。 连续邮箱问题要求对于给定的n和m,给出邮票面值的最佳设计,在1张信封上贴出从邮资1开始,增量为1的最大连续邮资区间。 例如当n=5,m=4时,面值为1,3,11,15,32的5种邮票可以贴出邮资的最大连续区间是1到70。#include <stdio.h>int a[6]={0,1,3,11,15,32};原创 2017-05-25 19:09:48 · 1529 阅读 · 0 评论 -
拉丁矩阵问题
拉丁矩阵问题现有n种不同形状的宝石,每种宝石有足够多颗。欲将这些宝石排列成m行n列的一个矩阵,m<=n,使矩阵中每一行和每一列的宝石都没有相同的形状。 试设计一个算法,计算出对于给定的m和n,有多少种不同的宝石排列方案。#include<stdio.h>#define N 10int m,n; //分别为行、列int count=0;int a[N][N]={0};bool OK(in原创 2017-05-25 19:10:42 · 878 阅读 · 0 评论 -
删数问题
删数问题给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列组成一个新的正整数。 对于给定的n和k,设计一个算法,找出剩下数字组成的新数最少的删数方案。#include <stdio.h>int main(){ int c[50]; int a,m,n=0,k,i,j,p; printf("请输入数:\n"); scanf("%d",&a); p原创 2017-05-25 19:12:21 · 530 阅读 · 0 评论 -
数字排列
数字排列有7对数字:两个1,两个2,两个3,…两个7,把它们排成一行。 要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。 如下就是一个符合要求的排列: 17126425374635 当然,如果把它倒过来,也是符合要求的。 请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。 注意:只填写这个14位的整数,不能填写任何多余的内容,原创 2017-05-25 19:12:43 · 541 阅读 · 0 评论 -
数字三角形问题
数字三角形问题给定一个由n行数字组成的数字三角形,设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。#include <stdio.h>#define N 5int main(){ int i,j; int a[N][N]={{7},{3,8},{8,1,0},{2,7,4,4},{4,5,2,6,5}}; for(i=N-1;i>=0;i--原创 2017-05-25 19:13:10 · 303 阅读 · 0 评论 -
金币阵列问题
金币阵列问题有m*n枚金币在桌面上排成一个金币阵列。 每一个金币正面朝上,或背面朝上,分别用0和1表示。 金币阵列游戏的规则是: (1)每次可将任一行金币翻过来放在原来的位置上; (2)每次可任选2列,交换这2列金币的位置。 给定金币的初始状态和目标状态,计算按金币游戏规则,将金币阵列从初始状态变换到目标状态所需的最少变换次数。 #include <stdio.h>int main()原创 2017-05-25 19:08:10 · 840 阅读 · 0 评论 -
图的m着色问题
图的m着色问题给定无向连通图和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。是否有一种着色法使G中每条边的两个顶点有不同的颜色。这个问题是图的m可着色判定问题。若一个图最少需要m种颜色才能使图中每条边相连接的两个顶点着不同颜色,称这个数m为这个图的色数。求一个图的色数m称为图的m可着色优化问题。 给定一个图以及m种颜色,请计算出涂色方案数。 #include<stdio.h原创 2017-05-25 19:42:52 · 553 阅读 · 0 评论 -
颠倒的价牌
颠倒的价牌小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店。其标价都是4位数字(即千元不等)。小李为了标价清晰、方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了。 这种价牌有个特点,对一些数字,倒过来看也是合理的数字。如:1 2 5 6 8 9 0 都可以。这样一来,如果牌子挂倒了,有可能完全变成了另一个价格,比如:1958 倒着挂就是:8561,差了几千元啊!!原创 2017-05-25 19:51:44 · 339 阅读 · 0 评论