当前位置: 首页 > article >正文

‘/’ 和 ‘%’ 在编程中的作用【附加练习题】

‘/’和‘%’在编程中有非常重要的作用,使用它们可以说是在使用一种简单算法,不仅易于理解,而且会极大的减少你的代码量,让你的程序看起来高级一点点🤪

/ 除

我们通常都是除10的倍数,比如‘10’只有一个0,那么 ‘/10’的含义就是除去后面1位

‘/100’有两个0,那么‘/100’就是除去后面2位

‘/1000’有三个0,那么‘/1000’就是除去后面3位

10086 / 10 = 1008
10086 / 100 = 100
10086 / 1000 = 10
10086 / 10000 = 1

% 取余

%10的 倍数

取余和除刚好相反,除是除去后面几位(通常除10的倍数),而取余则是保留后面几位数(通常对10取余)

同样,比如‘%10’,10只有一个0,‘%10’的含义就是保留最后1位

‘%100’,100有两个0,那么‘%100’的含义就是保留最后2位

‘%1000’,1000有三个0,那么‘%100’的含义就是保留最后3位

12345 % 10 = 5
12345 % 100 = 45
12345 % 1000 = 345
12345 % 10000 = 2345

%非10的倍数的数

这个也十分重要了,通常我们会在循环中遇到:

比如,我们有1个Task[] 数组,它有3个Task对象,我们需要在接下来的10次循环中每次调用一个Task任务。也就是说写一个for循环,循环10次,每一次循环轮流执行这三个中的一个任务(调用它的run方法)
Task[] tasks = new Task[3]; //创建三个任务
for (int i=0;i<10;i++){
    tasks[i] = new Task();//实例化对象才能调用它的方法
    tasks[i].run();//执行任务
}

但是我们会发现,当循环到第4次的时候,tasks[3] 它根本不存在,这个时候,就需要我们使用 % 了!!!

Task[] tasks = new Task[3]; //创建三个任务
int nums = i%tasks.length();//任务的数量
for (int i=0;i<10;i++){
    tasks[i%nums] = new Task();//实例化对象才能调用它的方法
    tasks[i%nums].run();//执行任务
}

我们模拟一下这10次循环

//我们有3个任务:tasks[0],tasks[1],tasks[2]

tasks[0%3] //这次执行的是tasks[0]
tasks[1%3] //这次执行的是tasks[1]
tasks[2%3] //这次执行的是tasks[2]
tasks[3%3] //这次执行的是tasks[0]
tasks[4%3] //这次执行的是tasks[1]
tasks[5%3] //这次执行的是tasks[2]
tasks[6%3] //这次执行的是tasks[0]
tasks[7%3] //这次执行的是tasks[1]
tasks[8%3] //这次执行的是tasks[2]
tasks[9%3] //这次执行的是tasks[0]

显然这样比使用比如队列(不断出队、入队)要简单多了吧😎😎😎

练习题

蓝桥杯-数列求值


http://www.kler.cn/a/2570.html

相关文章:

  • AI时代来了,我们不再需要IDE了
  • 数据结构——栈的实现
  • 机器学习基础-概率图模型
  • EtherCAT转Modbus网关与TwinCAT3的连接及配置详述
  • Selenium 的四种等待方式及使用场景
  • 【漏洞工具】小米路由器任意文件读取漏洞python图形化框架利用工具(poc|exp)
  • MFU(Mask Field Utilization)
  • 去中心化联邦学习-Python实现的2个案例
  • Windows Server 2022 中文版、英文版下载 (updated Mar 2023)
  • 【数据结构】排序
  • 0x03数学预备
  • sql语句总结
  • Unity设计模式—服务定位器模式
  • 【Vue全家桶】带你全面了解通过Vue CLI初始化Vue项目
  • 【linux】进程信号——信号的产生
  • C++初级教程(二)
  • Linux内核4.14版本——drm框架分析(1)——drm简介
  • 一个使用 react+vite3+ts+react-router-dom6v Hooks Admin搭建的轻量级后台管理模板。
  • Guitar Pro8.1专业版新功能简谱介绍
  • postgresql查询json类型字段中的数据
  • Mybatis-Mapper代理开发
  • 不愧是2023年就业最难的一年,还好有车企顶着~
  • 十大Python可视化工具,太强了
  • gin框架使用websocket实现进入容器内部执行命令
  • GJB 9001C质量管理体系文件构建(2、质量手册编制要点)第9章、第10章
  • 如何利用学生身份申请使用免费的专业版pycahrm(详细 教程)