首页 > 其他分享 >猴子偷桃问题c语言解决

猴子偷桃问题c语言解决

时间:2025-01-17 11:28:32浏览次数:3  
标签:10 偷桃 语言 peach int 猴子 return 桃子 day

问题:

猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。

在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。请修改程序并运行,检查结果是否正确。

#include <stdio.h>

// 原问题的函数
int originalProblem() {
    int day = 10;
    int peach = 1;
    // 从第10天倒推到第1天
    for (int i = day - 1; i >= 1; i--) {
        peach = (peach + 1) * 2;
    }
    return peach;
}

// 修改后问题的函数
int modifiedProblem() {
    int day = 10;
    int peach = 1;
    // 从第10天倒推到第1天
    for (int i = day - 1; i >= 1; i--) {
        peach = (peach + 2) * 2;
    }
    return peach;
}

int main() {
    // 原问题的结果
    int originalPeach = originalProblem();
    printf("原问题:第一天共摘了 %d 个桃子。\n", originalPeach);
    // 修改后问题的结果
    int modifiedPeach = modifiedProblem();
    printf("修改后问题:第一天共摘了 %d 个桃子。\n", modifiedPeach);
    return 0;
}

标签:10,偷桃,语言,peach,int,猴子,return,桃子,day
From: https://blog.csdn.net/IIIIIIlllii/article/details/143818960

相关文章

  • 手把手带你入门自然语言处理:零基础也能学会
    引言自然语言处理(NaturalLanguageProcessing,NLP)是人工智能领域中的一个重要分支,旨在让计算机能够理解、处理和生成人类语言。随着深度学习技术的快速发展,NLP在机器翻译、情感分析、智能客服等领域的应用越来越广泛。本文将从基础理论出发,逐步深入探讨NLP的核心技术......
  • 基于LLM大语言模型的知识库问答系统(FastGPT)
    FastGPT是一个基于LLM大语言模型的知识库问答系统。一、功能特点数据处理能力强:提供开箱即用的数据处理功能,支持手动输入、直接分段、LLM自动处理和CSV等多种数据导入途径,可处理PDF、WORD、Markdown和CSV等多种格式的文档,自动对文本数据进行预处理、向量化和QA分割,节省手......
  • Haskell语言的编程范式
    Haskell语言的编程范式及其魅力引言Haskell是一种纯粹的函数式编程语言,自1987年首次发布以来,它一直在学术界和工业界保持着相对高的关注度。Haskell的编程范式与传统的命令式编程有着显著的不同,提供了一种更加优雅和强大的方式来处理计算和数据。本文将详细探讨Haskell语......
  • 20.C语言多文件编译与管理技巧
    目录1.前言2.重复加载3.extern4.static5.编译策略6.make1.前言本篇原文为:20.C语言多文件编译与管理技巧。更多C++进阶、rust、python、逆向等等教程,可点击此链接查看:酷程网一个软件项目往往包含多个源码文件,编译时需要将这些文件一起编译,生成一个可执行文件。假......
  • C语言break和continue用法详解(跳出循环,新手必看)
    使用while或for循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用break或continue关键字。C语言break关键字在我原创教程里的《C语言switchcase语句》一文中,我讲了:用 break来跳出switch语句。当break关键字用于while、for循环时,会终止循......
  • C语言typedef用法详解(新手必看)
    C语言允许为一个数据类型起一个新的别名,就像给人起“绰号”一样。起别名的目的不是为了提高程序运行效率,而是为了编码方便。例如有一个结构体的名字是stu,要想定义一个结构体变量就得这样写:structstustu1;struct看起来就是多余的,但不写又会报错。如果为structstu起了......
  • C语言数据结构编程练习-单向不带头链表的操作
    单向链表单向链表是由若干个节点组成的数据结构,每个节点包含两个部分:数据域和指针域。数据域存储节点的数据,指针域存储下一个节点的地址。  #include"03.h"voidfn3(){ intorder=0; elementTypeval; elementTypeelementVal; LinkNode*ListNode=NULL; ......
  • C语言数据结构编程练习-用指针创建顺序表,进行创销和增删改查操作
     使用多文件进行编程main.c文件#include"02.h"intmain(){ fn2(); return0;} 02.h 头文件#pragmaonce#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<memory.h>#defineMAX_NUMBER100typedefi......
  • C语言流程控制
    程序的三种流程:顺序、选择(分支)、循环。程序 :一定是这些循环的组合 选择:选择(有排他性)一、关系运算符和关系表达式(一)运算规则运算结果---反映关系是否成立---真假   //在c语言中10表示运算优先级(二)关系表达式二、逻辑运算反映多个表达式之间的......
  • C语言学习笔记:if语句讲解和月份的天数判断以及闰年判断示例
    if语句的格式是:if(关系运算或逻辑运算表达式){语句 }if后如果不加花括号{}则判定只和第一句语句相关:if(n==0)printf(“1”);printf(“2”);//这种写法,if判定与语句2无关 (n==0)是否为真语句2都会打印 为避免if的(关系语句)少打一个= 可以把常量放在左侧如:if(7==n){}当......