【选做▪中学】求循环节


对于任意的真分数 N/M ( 0 < N < M ),均可以求出对应的小数。如果采用链表存储各位小数,对于循环节采用循环链表表示,则所有分数均可以表示为如下链表形式。 输入: N M 输出: 整个循环节 要求: 编写一个尽可能高效的查找循环节起始点的函数: NODE * find( NODE * head, int * n ) 。函数的返回值为循环节的起点(即图中的指针p),n为循环节的长度。 说明:提交程序时请同时提交将分数转换为小数的函数 change( int n, int m, NODE * head ) 。
输入 #1
1 3
输出 #1
ring=1
3
输入 #2
79 80
输出 #2
ring=0
NULL
输入 #3
2011 2012
输出 #3
ring=502
9502982107355864811133200795228628230616302186878727634194831013916500994035785288270377733598409542743538767395626242544731610337972166998011928429423459244532803180914512922465208747514910536779324055666003976143141153081510934393638170974155069582504970178926441351888667992047713717693836978131212723658051689860834990059642147117296222664015904572564612326043737574552683896620278330019880715705765407554671968190854870775347912524850894632206759443339960238568588469184890656063618290258449304174
输入 #4
11 13
输出 #4
ring=6
846153

提示

无提示

京ICP备2024093084 号