仅记录作业过程遇到的值得一记的问题
题干
解题思路
将笔算中竖式除法的每一步分解还原。
基本流程为: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]