![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
南师大科一习题
南师大C语言
无由頁
这个作者很懒,什么都没留下…
展开
-
C:求几个数的全排列(递归回溯)
前言关于递归回溯正文求几个数的全排列,如1、2、3排列为:123,132,213,231,312,321分析:假设有字符串组str[4]为abcd,若第一个选b,则将str[0]和b交换,选出第一个数放到str[0],然后从acd中选出第二个数,同理上面的步骤交换到str[1],直到选出str[2],str[3],完成第一个方案。而第一次选出的数也可以是a,c,d,同理后面的数也可是其中的任何一个数,则可以设置一个循环使str[i],i从0到3四个数中任选…还有一个问题是选择后一个方案后要把st原创 2020-06-28 15:08:48 · 472 阅读 · 0 评论 -
C:编程从n数中抽出r个数的所有组合方式(递归)
前言正文编程从n数中抽出r个数的所有组合方式例如:从1,2,3,4中四个数抽三个数组合为:432,431,421,321代码#include <stdio.h>void combine(int n,int r,int a[],int b[],int R);int main(){ int i,j; int n,r; int a[]={1,2,3,4}; //只能是1....n scanf("%d%d",&n,&r); int b[r]; combine(原创 2020-06-28 12:29:14 · 3949 阅读 · 2 评论 -
C习题:找出一个数的子孙数数目
前言c练习题正文找出一个数的子孙数,n的子孙数如下在它左边加上一个自然数,但该自然数不能超过原数的一半,则形成的数称为“子孙数”,得到子孙数后,继续按此规则进行处理,直到不能再加自然数为止。例如:6的子孙数有6个,分别是6,16,26,36,126,136.代码总结:感觉这个题目和数据结构中关于树中的递归类似。把每一个顶点看做一颗树的根,向下遍历,直到其最左边的那位数为1时返回,返回过程累加求和算出S#include <stdio.h>int f[1010];int ma原创 2020-06-19 14:52:47 · 440 阅读 · 2 评论 -
C习题:利用梯形法计算定积分
前言正文函数返回值类型 (* 指针变量名) (函数参数列表);int Func(int x); /*声明一个函数*/int (*p) (int x); /*定义一个函数指针*/p = Func; /*将Func函数的首地址赋给指针变量p*/梯形定积分求解 左边的是曲线的梯形定积分形式,右边的曲线的矩形定积分形式思想都差不多,把区间划分成n等分,然后用矩形或梯形公式来计算每一份,接着把n份的值累加起来就是该曲线区间的近似面积代码#原创 2020-06-06 16:51:21 · 5030 阅读 · 1 评论 -
南师大C:求最长公共子序列LCS
前言姊妹篇——最长公共子序列LCS正文网上资源很多了,大佬们也写得非常好,分享几篇我觉得比较通俗易懂的https://blog.csdn.net/hrn1216/article/details/51534607https://www.cnblogs.com/wkfvawl/p/9362287.html关键1)如果 xn=ym,即X的最后一个元素与Y的最后一个元素相同,这说明该元素一...原创 2020-04-03 15:51:24 · 116 阅读 · 0 评论 -
南师大C:求解两个字符串的最大公共子串长度
前言这题涉及到了动态规划,每次都要感叹一遍算法好难啊正文最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。比如:“abcdkkk” 和 “baabcdadabc”,可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。动态规划基本思想:问题的最优解如果可以由子问题的最优解推导得到,则可以先求解子问题的最优解,在构造原问题的最优解;若子问题有较多...原创 2020-04-01 22:45:32 · 304 阅读 · 0 评论 -
南师大C:真分数分解为埃及分数
前言通过这道题目了解了贪心算法,不多说直接看下文吧正文贪心算法:a/b=7/8,令b/a=c…dc为商,d为余数最大埃及分数:1/e=1/c+1个真分数减去一个最大埃及分数之后:原来的a 变成了,a * e - b,原来的b变成了 b * e#include <stdio.h>int main(){ long int a,b,c; scanf("%ld/%l...原创 2020-04-01 15:35:21 · 750 阅读 · 0 评论 -
南师大C:分鱼问题2(7筐鱼)
前言循环嵌套以满足条件,和上一个分鱼问题不是一个套路。正文甲、乙、丙三位渔夫出海打鱼,他们随船带了21只箩筐。当晚返航时,他们发现有7筐装满了鱼,还有7筐装了半筐鱼,另外7筐则是空的,由于他们没有秤,只好通过目测认为7个满筐鱼的重量是相等的,7个半筐鱼的重量是相等的。在不将鱼倒出来的前提下,怎样将鱼和筐平分为3份?关键解决该问题可以采用一个3*3的数组,数组名为a来表示3个人分到的东西。...原创 2020-03-31 17:31:29 · 1423 阅读 · 0 评论 -
南师大C:分鱼问题(一)
前言“递归”不亏是它,总是这么让人烧脑,一次都令人失望过????,这次的题目是五人捕鱼正文A、B、C、D、E这5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着了。第二天日上三竿时,A第一个醒来,他将鱼平分为5份,把多余的一条扔回河中,然后拿着自己的一份回家去了;B第二个醒来,但不知道A已经拿走了一份鱼,于是他将剩下的鱼平分为5份,扔掉多余的一条,然后只拿走了自己的一份;接...原创 2020-03-31 14:57:25 · 1189 阅读 · 0 评论 -
南师大C:三色旗问题
前言这道题问最少移动次数,说实话不看解析,不知道怎么下手(太菜了),看了思路后,把代码写下来了,话说这种算法怎么学啊,有点迷茫,感觉就是靠做题积累经验呢正文假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子的颜色并没有顺序,你希望将之分类并排列为蓝、白、红的顺序,要如何移动次数最少,注意你只能在绳子上进行这个动作,并且一次只能调换两个旗子。思路b永远指向第一个不是b的元素(...原创 2020-03-30 16:41:15 · 197 阅读 · 0 评论 -
南师C:输出魔方阵
前言这道题目是输出魔方阵,在这之前我并不清楚魔方阵是什么东西,查阅了一些资料,大概清楚了它的概念。本文适用于奇数矩阵。正文概念由 NxN个数字所组成的n阶方阵,若具有各对角线、各横列与纵行的数字和都相等的性质,则称为魔方阵。这个相等的和称为魔术数字。若填入的数字是从1到NxN,称此种魔方阵为n阶正规魔方阵。如下所示为一个5阶魔方阵。步骤假定当前数的下标为(i,j),先确定1所在的位...原创 2020-03-29 21:29:26 · 302 阅读 · 0 评论 -
南师C:狼抓兔子问题
前言资料上的参考答案是错的,自己写的和网上对照答案应该没错,不过还有改进的余地。继续加油正文一只小兔子躲进了10个环形分布的洞中的一个。狼在第一个洞中没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找;以后每次多一个洞去找小兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?代码一溢出的状况需要多次考虑,少考虑一种答案就错了。#inclu...原创 2020-03-28 21:17:33 · 1538 阅读 · 2 评论 -
南师C:三天打鱼两天晒网
前言买了初试的资料,开始写写资料中的题目正文如果某个渔夫从2019年1月1日开始每三天打鱼每两天晒网问这个人在以后的某一天中是“打鱼”还是“晒网”比较纠结的是5天里打3天鱼晒2天网,还是3天里打1天鱼晒两天网。从代码参考答案上来看是前者。代码#include <stdio.h>int leap(int y){ if(y%4==0&&y%100!=0...原创 2020-03-28 16:45:13 · 390 阅读 · 0 评论