个人算法笔记(判断有限小数和循环小数)

这篇博客记录了如何通过算法判断有限小数和循环小数,主要思路是模拟竖式除法,当余数为0或出现循环时确定小数类型。以3/5和1/7为例进行解释,展示代码实现和运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

仅记录作业过程遇到的值得一记的问题

题干

在这里插入图片描述

解题思路

将笔算中竖式除法的每一步分解还原。
基本流程为:m/n得商和余数,再将余数乘以10,作为下一次的除法中的被除数,除以n,以此循环。根据数学知识可知,两整数之商,如果除不尽,将必为有限小数或无限循环小数。所以退出循环的条件某一次除法后为余数为0或者余数循环。
以3/5为例。

步骤 Value
1 3/5=0……3
2 30/5=6……0

此时余数为0,退出循环,0.6为其解,3/5结果是有限小数。
以1/7为例子

步骤 Value
1 1/7=0……1
2 10/7=1……3
3 30/7=4……2
4 20/7=2……6
5 60/7=8……4
6 40/7=5……5
7 50/7=7……1

此时余数与第一位余数相同,且余数开始循环,则循环节为(142857).

代码

#include<stdio.h>
#define N 1000

int main() {
   
	int i, j, k, start, end;
	int m, n;
	int div[N]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值