刷题笔记 1

本文通过三个数学问题探讨编程在解决实际问题中的应用。第一个问题涉及面条切割的规律,揭示了对折次数与面条根数的数学关系;第二个问题是关于门牌号字符统计,计算制作门牌所需字符'2'的数量;第三个问题模拟微生物繁殖,分析在特定条件下微生物数量的变化。通过这些问题,展示了数学逻辑在编程中的重要性和实用性。
摘要由CSDN通过智能技术生成

RAD Studio 10.2.3 测试√


题目来源:CSDN技能树


1、切面条

一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢?
在这里插入图片描述

总结:
接口数规律 --> n次折叠接口数 = (n - 1)次折叠接口数 * 2 + 1
根数与接口数的关系 --> 根数 = 接口数 + 2
根数与折叠次数的关系 --> 根数 = 2^(折叠次数) + 1


2、门牌制作

小蓝要为一条街的住户制作门牌号。
这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。
小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。
请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int ans = 0, x;
    for (int i = 1; i <= 2020; i++)
    {
        x = i;
        while (x)
        {
            ________________;
        }
    }
    cout << ans;
    return 0;
}

提示:
利用循环将当前数字的每一位求出,分别进行判断即可

==========================================================

var
  a, i: Integer;
  mTempi: Integer;
  mCnt: Integer;
begin
  for i := 1 to 2020 do
  begin
    a := i;
    while True do
    begin
      // 取最后一位数(通过取余数的方式获取)
      mTempi := a mod 10;

      // 如果这个数是指定的数字
      if mTempi = 2 then
      begin
        Inc(mCnt);
        Memo_Log.Lines.Add(IntToStr(i));
      end;

      // 取完最后一位数后,将这个数 / 10
      a := Trunc(a / 10);

      // 如果缩小后的数 <= 0 就表示 i 的每一位都已经判断完了
      if a <= 0 then
      begin
        Break;
      end;
    end;
  end;
  Memo_Log.Lines.Add('使用2的次数=' + IntToStr(mCnt));
end;

3、微生物繁殖

假设有两种微生物 X 和 Y
X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。
一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。
现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。
如果X=10,Y=90呢?
本题的要求就是写出这两种初始条件下,60分钟后Y的数目。

#include <iostream>
using namespace std;
int main()
{
    int x = 10, y = 90;
    for (int i = 1; i <= 120; i++)
    {
        ________________;
    }
    cout << y << endl;
}

提示:
分析可知,Y分别会在0.5,1.5,2.5······时被吃,所以,把60分钟分成120份,则在除以2余数为1时,Y的数目减少X个

==========================================================


const
  CONST_TIME = 120;     // 多少个0.5分钟
var
  i: Integer;
  x, y: Integer;
begin
  {
x 3分钟 需要翻倍(*2)
y 2分钟 需要翻倍(*2)
新X 半分钟 会让 y 减少 新x 个
老X 1分钟 会让 y 减少 老x 个

从上面4个条件中可知:
最小时间单位 = 0.5分钟
新x吃完后变成老x 需要间隔一分钟才开始吃
比如时间0新生的x 在0.5分钟吃掉y 这批x下次吃是1.5分钟的时候 第二次吃是 2.5分钟
在3分钟的时候出生一批新的x 3.5分钟的时候不管是老的还是新的x都会吃掉y
以此类推
4.5分钟 吃y  5.5分钟吃y  6分钟前两批x继续繁殖 6分半刚好这三批x都可以吃y
由此可以得到规律:x在 0.5 1.5 2.5 3.5 4.5 ... 后续每隔一秒都会吃y

时间每次到 半分钟 2分钟 3分钟 分别触发不同的事件(上面条件可以看成不同的事件)
  }

  x := 10;
  y := 90;

  for i := 1 to CONST_TIME do
  begin
    if i mod 2 = 1 then
    begin
      // 半分钟事件
      y := y - x;
    end;

    if i mod 4 = 0 then
    begin
      // 2分钟事件
      y := y * 2;
    end;

    if i mod 6 = 0 then
    begin
      // 3分钟事件
      x := x * 2;
    end;
  end;


  Memo_Log.Lines.Add('y=' + IntToStr(y));
end;


一点点笔记,以便以后翻阅。

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小印丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值