11.求循环节

这篇博客探讨了如何高效地找到真分数 N/M (0 < N < M) 小数表示的循环节。通过使用链表来存储小数的各位,并用循环链表表示循环节,可以表示所有分数。博客提出了一个函数 `NODE * find(NODE * head, int * n)` 来寻找循环节的起始点,并要求提交转换分数为小数的函数 `change(int n, int m, NODE * head)`。文章提供了一个预设代码框架,包括 `outputring` 函数来打印循环节,以及 `main` 函数用于测试实现。" 131392644,7828326,ThinkPHP-Shop2020商城CMS前端SQL注入分析,"['PHP', '网络安全', 'SQL安全', 'Web安全', '渗透测试']

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

11.求循环节

成绩 10 开启时间 2014年11月12日 Wednesday 18:25
折扣 0.8 折扣时间 2014年11月30日 Sunday 23:55
允许迟交 关闭时间 2014年12月7日 Sunday 23:55

对于任意的真分数 N/M ( 0 < N < M ),均可以求出对应的小数。如果采用链表存储各位小数,对于循环节采用循环链表表示,则所有分数均可以表示为如下链表形式。

tu

输入: N M

输出: 整个循环节

要求:
 
编写一个尽可能高效的查找循环节起始点的函数: NODE * find( NODE * head, int * n ) 。函数的返回值为循环节的起点(即图中的指针p),n为循环节的长度。

说明:提交程序时请同时提交将分数转换为小数的函数 change( int n, int m, NODE * head ) (前面题目中已经编写)。

预设代码

前置代码
  1. /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */  
  2.  
  3. #include <stdio.h>  
  4. #include <stdlib.h>  
  5.   
  6. typedef struct node  
  7. {   int         data;  
  8.     struct node * next;  
  9. } NODE;&n
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值