当前课程知识点:C语言程序设计(上) >  循环结构的程序设计(二) >  4.7 循环的综合应用 >  4.7.4 循环综合应用——求最后三位数

返回《C语言程序设计(上)》慕课在线视频课程列表

4.7.4 循环综合应用——求最后三位数在线视频

4.7.4 循环综合应用——求最后三位数

下一节:4.7.5 循环综合应用——打印空心图案

返回《C语言程序设计(上)》慕课在线视频列表

4.7.4 循环综合应用——求最后三位数课程教案、知识点、字幕

我们接下来再看一个简单的题目

求 就是这类问题都属于说

我们找一个满足某个条件的数

前面我们也举过一个例子说

找最大的素数

那这个是说我们给一个比较

相对比较大的数

让找这个数里边

它的约数中最大的三位数是多少

在这个思路呢

跟说找最大的素数这件事是一样的

就说关注点是你从哪里开始找

你不是要三位数吗

要三位数

那我们最大的三位数是999

最小的三位数是100

那我们一定愿意是从

最大的那个约数开始找

最大的数开始找

也就是说从999开始找

所以循环呢 开始是999

最后终止是100

那这个增量一定是减减的

那在里边呢

我们就这时判断很简单

就这里边 如果你是整除了

那我们下面就要怎么样呢 break

退出 那就说

如果能整除的话

你当前的这个解就是约数了

你就找到了 找到了就不找了

这个循环整体就不进行了

所以break跳出来

那这个题目我们是想再强化一下

在构建循环的时候

在这个循环题里边

你是从小到大循环

还是从大到小循环

是都可以 要看你的问题而定

另外适当的加入这些break continuum

能使你的程序的运行效率提高很多

我们再来看一道例题

这道题目说

我们求14的13次方

要这个数的最后三位数

大家看一下这个数14的13次方

大家要就把14乘13次乘下来

那一定是会产生溢出的

因为我们C语言给的最长的整数

无符号的长整形的数 十位

这在有的机器上 有的编译环境下

是给十位

14的10次方已经到了12位了

那14的13次方呢

一定是超过12位的

就是已经超过了它数据的表达能力

那么我们现在如果要把这个

按14的13次方直接这样运算完的话

你是得不到一个正确的

最后的三位数的

那这样我们考虑像这类问题的时候

怎么做呢

这不是计算机能给你完成的事

是我们自己要考虑

它有没有其他的办法

我们注意到乘法的规律是这样子

乘积的最后的三位

它的值只与谁有关呢

只与乘数和被乘数的后三位有关

也就说它每一次乘完了的

下一次要乘的时候

它只关注它的后三位就可以了

基于这样的一个考虑我们看

咱们是不是可以这样取

就说X的Y次方的末三位数

通过程序我们做一个累乘器

使A与X相乘以后

我们每一次取它的末三位数

再做下一次的相乘

因为它只与末三位有关

所以我们取末三位

怎么取呢 比如说a是乘法器

它相乘的乘积我们给它与1000去求余

就取出来它的末三位

那这样的话呢

就是每次只与它的末三位相乘的话

它这个溢出就不会产生了

所以我们看这个程序

咱直接在这个编译环境下看一下

我们读进了xy 然后在这里边呢

a初值是1

那显然我们是把它作为累乘器的

那我们每一次去a乘以x以后

我们取它的后三位 这是一个方法

取它的后一位 那我们就除以十

取它后两位除以100

取后三位 每做一次计数一次

然后while这个循环结束的时候

我们已经得到了这个数

运行一下看一下

我们给14 13

末位的三位数是144

那我们这里边没有产生溢出的方法是

我们对它进行了处理

每一次累乘的时候只取后三位

和对下一次进行乘法

那这样的话我们现在是说

这不是计算机的问题 是我们的问题

就这个算法怎么考虑

是人给它安排的

而不是计算机

就说不是C语言给你的要求

而是机器对我们有一个限度

什么限度呢

它的量程 它的容量

我们给了一个精度最高的数

也容纳不下我们现在

要表达的这个数的时候

那你一定要考虑这个数

不能让它产生if就不可信了

这个数就无效了

所以要做一些相应的处理

我们拿这个小题目是想说

类似于这样的问题呢

有时候呢 编译器是不能发现

你的结果是有错的

所以我们会把说运行完了

得到的一个结果

我们会认为这是一个正确的结果

其实呢 在这过程里边呢

可能溢出已经产生了

C语言程序设计(上)课程列表:

从问题到C语言程序设计

-1.1 计算机的问题求解方法

--1.1.1--程序设计面向的问题

--1.1.2--关于计算

--1.1.3-1关于算法-算法的特征

--1.1.3-2关于算法——算法的表示

--1.1.3-3关于算法——算法的优化

--1.1.4-1-程序设计方法

--1.1.4-2-程序设计方法

--讨论题:数学模型

-1.1 计算机的问题求解方法--作业

-1.2 C语言与C程序

--1.2.1-1-C概述

--1.2.1-2-C概述

--1.2.2-C初步

--讨论题:运算符

-1.3 C语言处理系统与程序调试运行

--1.3.1C程序如何调试运行

--1.3.2常用C语言处理系统

--1.3.3DEVC++的使用-v1

--1.3.4C语言概貌小程序

--例程

-1.4 程序中的人机交互

--1.4 printf用法

--1.4.2 scanf的用法

--例程

--作业讨论区

数据计算实现与顺序结构程序设计(一)

-2.1 算术运算的C程序实现

--2.1.1 第二章

--2.1.2 C语言算术表达式概念

--2.1.3 算术运算的实现

--2.1.4 整数相除

--2.1.5 输入格式造成的计算错误

--2.1.6 求余运算

--2.1.7 自增自减运算

--2.1.8 复合运算

--fangcheng.c

--fangcheng-1.c

--fangcheng-2.c

--fangcheng-3.c

--fangcheng-4.c

--算术混合运算.c

--讨论题:自增自减符

--讨论题:程序输出结果

--讨论题:程序运行结果

-2.1 算术运算的C程序实现--作业

-2.2 关系运算的C程序实现

--2.2.1 关系比较问题

--2.2.2 C语言关系表达式

--2.2.3关系运算优先级

--2.2.4 用关系运算做判断条件

--2.2.5 程序实例

--2.2.6 字符比较

--bukao.c

--pingshifen-1.c

--panduanzhengshu.c

--pingshifen-2.c

--字符比较.c

--讨论题:比较大小

--讨论题:程序的运行

-2.2 关系运算的C程序实现--作业

-第二周作业--作业

数据计算实现与顺序结构程序设计(二)

-2.3 逻辑运算的C程序实现

--2.3.1 逻辑运算问题~1

--2.3.2 逻辑运算表达式

--2.3.3 如何判断闰年

--2.3.4 逻辑运算优先级

--2.3.5 条件运算符

--计算结合性

--2.3.7 一个简单实例

--闰年.c

--自动购票问题.c

--讨论题:逻辑表达式

-2.3 逻辑运算的C程序实现--作业

-2.4 位运算的C程序实现

--2.4.1 什么是位运算

--2.4.2 位运算有哪些

--2.4.3 位运算怎么用

--讨论题:位运算

-2.5 几种很个别的运算

--2.5 几个很个别的运算

--讨论题

--讨论题

-2.5 几种很个别的运算--作业

-2.6 混合运算及数据类型转换

--2.6 混合运算及数据类型转换

--讨论题:数据类型

-2.7 顺序结构程序实例

--2.7.1 第一个程序:三角形

--Video

--三角形面积.c

--讨论题:工业产值

--讨论题:程序无效结果

-2.7 顺序结构程序实例--作业

选择结构的程序设计

-3.1 程序中的路径选择实现

--3.1.1_1 第三章

--3.1.1_2 神奇的if_else

--打印学生成绩.c

--一元二次方程.c

-3.1 程序中的路径选择实现--作业

-3.2 路径中的再选择——嵌套判断

--3.2.1_1 if语句的嵌套

--3.2.1_2三个数排序1029

--例程

--3.2.2 用户登录检查

--三个数排序_未优化.c

--三个数排序_优化.c

--讨论题:程序改错

-3.2 路径中的再选择——嵌套判断--作业

-3.3 复杂判断问题的C程序设计

--3.3 多级选择

--银行存款.c

--讨论题:多级选择

-3.4 多分支问题的C程序设计

--3.4.1 switch语句表达式

--3.4.2 加减乘除计算

--3.4.3 几类说明

--加减乘除运算.c

--讨论题:关于switch

-3.4 多分支问题的C程序设计--作业

-3.5 GOTO的适当使用

--3.5 GOTO的适当使用

-3.6 选择结构的程序实例

--3.6 程序展示

--计算第几天.c

--存款利息__switch实现.c

--讨论题:输出奇数

--讨论题:计算税金

-3.6 选择结构的程序实例--作业

-第四周作业--作业

循环结构的程序设计(一)

-4.1 需要重复执行的程序

--4.1.1----第四章~1

--4.1.2---while实现先判断后循环~1

--4.1.3----while循环的应用-录入速度~1

--求和.c

--打印学生成绩.c

--统计录入速度.c

--求平均数.c

-4.1 需要重复执行的程序--作业

-4.2 至少要执行一次的循环

--4.2.1至少要执行一次的循环

--4.2.2-do-while循环应用

--成绩录入_do while实现.c

--n的阶乘.c

--字符分类统计.c

--讨论题:关于while

-4.2 至少要执行一次的循环--作业

-4.3 已知循环次数用for语句

--4.3.1--用for语句控制循环次数

--4.3.2--循环的应用-求和

--求和问题.c

--斐波那契数列问题.c

--数列求和.c

--讨论题:循环语句的不同

--讨论题:循环语句

-4.3 已知循环次数用for语句--作业

-4.4 循环控制——简单循环应用

--4.4.1-循环的应用-找数-水仙花数

--4.4.2--循环的应用-求素数

--水仙花数.c

--讨论题:死循环

--讨论题:continue和break

--讨论题:猜数字

-循环结构的程序设计(一)--4.4 循环控制——简单循环应用

循环结构的程序设计(二)

-4.5 循环的嵌套

--4.5.1 循环的嵌套——九九乘法表

--4.5.2 循环的嵌套——打印三角形

--打印九九乘法表.c

--打印实心三角图案.c

--打印空心三角图案.c

--讨论题:程序运行

-4.5 循环的嵌套--作业

-4.6 break与continue

--4.6 循环中断与继续循环——break再讨论

--最大素数.c

--求正数个数及平均数.c

-4.6 break与continue--作业

-4.7 循环的综合应用

--4.7.1 数的排列组合问题

--4.7.2 循环综合应用——穷举算法

--4.7.3 循环综合应用——满足条件的数

--4.7.4 循环综合应用——求最后三位数

--4.7.5 循环综合应用——打印空心图案

--数的排列组合.c

--数的排列组合优化.c

--鸡兔同笼.c

--找满足条件的数.c

--输出14的13次方的最后三位数.c

--打印空心字符.c

--讨论题:打印图形

--讨论题:打印空心图形

--讨论题:计算闰年

-第六周作业

--虚拟实验:循环程序设计实验

-第六周作业--作业

数组(一)

-5.1 同类有序数据处理问题

--5.1.0 数组开篇

--5.1.1 同类有序数据存储问题

--讨论题:下标变量与下标

-5.2 一维数组的定义和引用

--5.2.1_1 数组的定义~1

--5.2.1_2 数组的初始化

--5.2.2 一维数组的输入输出

--5.2.3 一维数组的应用1--成绩排序(选择法)~2

--5.2.4 一维数组的应用2--Fibonacci数列

--数组定义.c

--数组初始化.c

--输出大于平均值的数.c

--反向输出.c

--选择法_成绩排序.c

--求斐波那契数列前n项.c

--讨论题:对称数

--讨论题:关于'\0'

-5.2 一维数组的定义和引用--作业

-5.3 一维字符串数组

--5.3 一维字符串数组11.24~1

--用函数测试字符串长度.c

--讨论题:编程

-5.4 字符串处理函数

--5.4 字符数组的输入与输出

--字符串反向.c

--字符串函数

--讨论题:程序如何运行

--讨论题:黑色星期五

数组(二)

-5.5 二维数组的定义与使用

--5.5 二维数组定义

--二维数组的定义与初始化.c

-5.6 二维数组的输入输出

--5.6 二维数组的输入与输出

--二位数组输出_矩阵输出.c

--讨论题:随机数据存储

-5.6 二维数组的输入输出--作业

-5.7 二维数组的应用‍

--5.7.1二维数组的应用-转置矩阵

--5.7.2 用一维数组方式引用二维数组元素

--转置矩阵.c

--找二维数组最大数.c

--讨论题:修改程序

--讨论题:关于随机数函数 rand()

-5.8 二维字符数组

--5.8 单词排序

--单词排序.c

--讨论题:回文字符串

-5.8 二维字符数组--作业

-5.9 数组综合应用

--5.9.1 应用1——学生成绩统计

--统计成绩.c

--5.9.2 应用2——删除重复字符

--删除串中的重复字符串

--5.9.3 应用3——统计字符

--5.9_4数组的应用4--矩阵相乘

--统计字符次数.c

--讨论题:洗牌

-本期课程结束语

--end

-第八周编程作业

--虚拟实验:冒泡排序算法程序设计实验

期末复习

-《C语言程序设计(上)》期末复习参考

--html

期末复习答案

-《C语言程序设计(上)》期末复习参考答案

--html

4.7.4 循环综合应用——求最后三位数笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。