这数学题能不能用C语言解题

weixin_45262654 2019-06-19 08:55:53
这数学题能不能用C语言解题
...全文
4478 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
舞星散落 2019-06-24
  • 打赏
  • 举报
回复
这个问题我有别的方法 这个问题相当于 我有1块钱 10个 2块钱5个 每种各那多少个合计10块钱 至于污水,把 合计3块钱的方法数*合计7块钱的方法数的结果 从10块钱中去掉
舞星散落 2019-06-24
  • 打赏
  • 举报
回复
这个问题我有别的方法 这个问题相当于 我有1块钱 10个 2块钱5个 每种各那多少个合计10块钱 至于污水,把合计3块钱的方法数从10块钱中去掉
循流 2019-06-24
  • 打赏
  • 举报
回复
进来看一下大神的逻辑。
  • 打赏
  • 举报
回复
错,不相当于,这个是排列,有顺序的,112、121、211是三种走法,你那个是组合


Sཽimྂonྂ 2019-06-23
  • 打赏
  • 举报
回复
当然可以解了,一般来说这种水平的题你自己数学方法做更快吧
Cutecumber 2019-06-22
  • 打赏
  • 举报
回复
c语言递归调用就可以解决,我唯一的一篇帖子就是递归调用,你可以看一下
空城机 2019-06-22
  • 打赏
  • 举报
回复
可以,这个就是斐波那契数列啊,数列从第3项开始,每一项都等于前两项之和。C语言直接用公式去求第一个空
可以看看参考一下:https://blog.csdn.net/qq_36171287/article/details/89521779
幼鲸 2019-06-22
  • 打赏
  • 举报
回复
引用 8 楼 lin5161678的回复:
[quote=引用 4 楼 636f6c696e 的回复:]
int func(int cur, int end)
{
    if (cur == end)  return 1;
    if (cur == end - 1)  return 1;
    return func(cur+1, end) +func(cur+2,end);
}
这是一个很糟糕的实现 大量重复的计算[/quote] 就写这么一道题不管什么实现都用不了多久吧
谦虚且进步 2019-06-21
  • 打赏
  • 举报
回复
少年班里那个少年占卜就是这个题,不过是20阶台阶
  • 打赏
  • 举报
回复
写一个函数f(x),不能过7,即f(x)-f(7)
背 影 2019-06-20
  • 打赏
  • 举报
回复
递归太耗时了!用for循环的嵌套可以完成
vcf_reader 2019-06-20
  • 打赏
  • 举报
回复
当然能。为啥不能?
蓝水少年 2019-06-20
  • 打赏
  • 举报
回复
分析一下 应该是是可以的
rickys2080 2019-06-19
  • 打赏
  • 举报
回复
可以,回答完毕
super_admi 2019-06-19
  • 打赏
  • 举报
回复
这是乱认干爹的节奏?

引用 16 楼 weixin_45262654 的回复:
[quote=引用 15 楼 早打大打打核战争的回复:]这题就是求斐波那契数,考虑第n步(n>1)是怎么到达的,无非是从第n-1步走一步,或者从n-2步走两步,所以f(n)=f(n-1)+f(n-2),明白了咩?
所以答案就是f(10)=89,f(6)*f(3)=39

懂了,谢谢爹......[/quote]
weixin_45262654 2019-06-19
  • 打赏
  • 举报
回复
引用 15 楼 早打大打打核战争的回复:
这题就是求斐波那契数,考虑第n步(n>1)是怎么到达的,无非是从第n-1步走一步,或者从n-2步走两步,所以f(n)=f(n-1)+f(n-2),明白了咩?
所以答案就是f(10)=89,f(6)*f(3)=39
懂了,谢谢爹......
  • 打赏
  • 举报
回复
这题就是求斐波那契数,考虑第n步(n>1)是怎么到达的,无非是从第n-1步走一步,或者从n-2步走两步,所以f(n)=f(n-1)+f(n-2),明白了咩?
所以答案就是f(10)=89,f(6)*f(3)=39
weixin_45262654 2019-06-19
  • 打赏
  • 举报
回复
引用 13 楼 早打大打打核战争的回复:
你被忽悠了,还谢谢哦,要不要把自行车和表送给他,再从他那买拐杖、轮椅和担架~~~
好主意哈哈哈。你是指不是这道题还是他的解答对应他的题目也是错的
  • 打赏
  • 举报
回复
你被忽悠了,还谢谢哦,要不要把自行车和表送给他,再从他那买拐杖、轮椅和担架~~~
weixin_45262654 2019-06-19
  • 打赏
  • 举报
回复
引用 11 楼 赵4老师的回复:
仅供参考:
//每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
//-------------------------------------------------------
//状态c[i][0]表示走到第i个楼梯时最后一步是左脚的方法数,c[i][1]是右脚的方法数。。
//那么,由于每一步能上一到两级,c[i][0] = c[i-1][1]+c[i-2][1](因为最后一步为左脚,
//倒数第二步肯定为右脚。。)。。然后一直递推。。最后c[39][1]即上到第39级而且是右脚的方法数即为答案。
#include <stdio.h>
int c[40][2];//0为左脚,1为右脚。。
int main(){
    int i;
    c[0][0] = c[1][1] = 0;
    c[0][1] = c[1][0] = 1;
    for(i = 2; i <= 39; ++i){
        c[i][0] = c[i - 1][1] + c[i - 2][1];
        c[i][1] = c[i - 1][0] + c[i - 2][0];
    }
    printf("%d\n", c[39][1]);
    return 0;
}
//-------------------------------------------------------
//走到第n级台阶的时候,他的上一步不是在n-1级就是在n-2级上,
// f(n) = f(n - 1) + f(n - 2) 很简单的递归思想
int num=0;
void fun(int n,int step)
{
  if(n<0)
    return;
  if(n==0)
  {
    if(step%2==0) num++;
    return;
   }
   fun(n-1,step+1);
   fun(n-2,step+1);
}
void main()
{
  fun(39,0);
  printf("%d",num);
}
//-------------------------------------------------------
int aux(int steps, int cnt)
{
    if (steps <= 0)
    {
        if (0 == steps && (cnt && !(cnt % 2)))
            return 1;
        return 0;
    }
    return aux(steps - 1, cnt + 1) + aux(steps - 2, cnt + 1);
}<br>
inline int func(steps)
{
    return aux(steps, 0);
}
//-------------------------------------------------------
#include <stdio.h>
static int trace[40];
static int count=0;
void go(int, int, int);
int main()
{
        go(39, 0, 1);
        go(39, 0, 2);
        printf("count=%d\n",count);
}
//
// left: left steps
// mt:   mount_times
// step: steps of current movement
//
void go(int left, int mt, int step)
{
    int i;
    if(left < 0)return;
    if(left == 0){
        if(!(mt%2)&&(step==1)){
            /* 用来记录小明的脚步,当然题目里并不要求我们记下来。
            for(i=0;i<mt;i++){
                    printf("%3d",trace[i]);
            }
            printf("\n");
            for(i=mt;i<sizeof(trace);i++){
                    trace[i]=0;
            }
            */
            count++;
        }
        return;
    }
    trace[mt] = step;
    left -= step;
    mt++;
    go(left, mt, 1);
    go(left, mt, 2);
}
谢谢大哥的解答~~~
加载更多回复(15)
《妙趣横生的算法(C语言实现)》可作为算法入门人员的教程,也可以作为学习过C语言程序设计的人士继续深造的理想读物,也可作为具有一定经验的程序设计人员巩固和提高编程水平,查阅相关算法实现和数据结构知识的参考资料,同时也为那些准备参加与算法和数据结构相关的面试的读者提供一些有益的帮助。最大的特色在于实例丰富,题材新颖有趣,实用性强,理论寓于实践之中。理论与实践相结合,旨在帮助读者理解算法,并提高C语言编程能力,培养读者的编程兴趣,并巩固已有的C语言知识。全书分为2个部分共10章,内容涵盖了编程必备的基础知识(如数据结构、常用算法等),编程实例介绍,常见算法和数据结构面试题等。可以使读者开阔眼界,提高编程的兴趣,提高读者的编程能力和应试能力。 目录: 第1部分 基础篇 第1章 数据结构基础 1.1 什么是数据结构 1.2 顺序表 1.2.1 顺序表的定义 1.2.2 向顺序表中插入元素 1.2.3 从顺序表中删除元素 1.2.4 实例与分析 1.3 链表 1.3.1 创建一个链表 1.3.2 向链表中插入结点 1.3.3 从链表中删除结点 1.3.4 销毁一个链表 1.3.5 实例与分析 1.4 栈 1.4.1 栈的定义 1.4.2 创建一个栈 1.4.3 入栈操作 1.4.4 出栈操作 1.4.5 栈的其他操作 1.4.实例与分析 1.5 队列 1.5.1 队列的定义 1.5.2 创建一个队列 1.5.3 入队列操作 1.5.4 出队列操作 1.5.5 销毁一个队列 1.5.6 循环队列的概念 1.5.7 循环队列的实现 1.5.8 实例与分析 1.6 树结构 1.6.1 树的概念 1.6.2 树结构的计算机存储形式 1.6.3 二叉树的定义 1.6.4.二叉树的遍历 1.6.5 创建二叉树 1.6.6 实例与分析 1.7 图结构 1.7.1 图的概念 1.7.2 图的存储形式 1.7.3 邻接表的定义 1.7.4.图的创建 1.7.5 图的遍历(1)——深度优先搜索 1.7.6 图的遍历(2)——广度优先搜索 1.7.7 实例与分析 第2章 常用的查找与排序方法 2.1 顺序查找 2.2 折半查找 2.3 排序的概述 2.4 直接插入排序 2.5 选择排序 2.6 冒泡排序 2.7 希尔排序 2.8 快速排序 第3章 常用的算法思想 3.1 什么是算法 3.2 算法的分类表示及测评 3.2.1 算法的分类 3.2.2 算法的表示 3.2.3 算法性能的测评 3.3 穷举法思想 3.3.1 基本概念 3.3.2 寻找给定区间的素数 3.3.3 TOM的借书方案 3.4 递归与分治思想 3.4..1 基本概念 3.4.2 计算整数的划分数 3.4.3 递归的折半查找算法 3.5 贪心算法思想 3.5.1 基本概念 3.5.2 最优装船问题 3.6 回溯法 3.6.1 基本概念 3.6.2 四皇后问题求解 3.7 数值概率算法 3.7.1 基本概念 3.7.2 计算定积分 第2部分 编程实例解析 第4章 编程基本功 4.1 字符类型统计器 4.2 计算字符的ASCII码 4.3 嵌套if.else语句的妙用 4.4 基于switch语句的译码器 4.5 判断闰年 4.6 指针变量作参数 4.7 矩阵的转置运算 4.8 矩阵的乘法运算 4.9 巧用位运算 4.10 文件的读写 4.11 计算文件的大小 4.12 记录程序的运行时间 4.13 十进制/二进制转化器 4.14 打印特殊图案 4.15 打印杨辉三角 4.16 复杂级数的前n项和 4.17 寻找矩阵中的“鞍点” 4.18 n阶勒让德多项式求解 4.19 递归反向输出字符串 4.20 一年中的第几天 第5章 数学趣题(一) 5.1 舍罕王的失算 5.2 求两个数的最大公约数和最小公倍数 5.3 歌德巴赫猜想的近似证明 5.4 三色球问题 5.5 百钱买百鸡问题 5.6 判断回文数字 5.7 填数字游戏求解 5.8 新郎和新娘 5.9 爱因斯坦的阶梯问题 5.10 寻找水仙花数 5.11 猴子吃桃问题 5.12 兔子产仔问题 5.13 分解质因数 5.14 常胜将军 5.15 求兀的近似值 5.16 魔幻方阵 5.17 移数字游戏 5.18 数字的全排列 5.19 完全数 5.20 亲密数 5.21 数字翻译器 5.22 递归实现数制转换 5.23 谁在说谎 第6章 数学趣题(二) 6.1 连续整数固定和问题 6.2 表示成两个数的平方和 6.3 具有特殊性质的数 6.4 验证角谷猜想 6.5 验证四方定理 6.6 递归法寻找最小值 6.7 寻找同构数 6.8 验证尼科彻斯定理 6.9 三重回文数字 6.10 马克思手稿中的数学题 6.11 渔夫捕鱼问题 6.12 寻

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧