【开篇bb】
第一篇自己的CSDN博客!!!
在CSDN上抄了一年多作业, 终于要自己发博客啦233333,但是并没有什么含金量的其实嘤嘤嘤QAQ
想码一些作业当时做完有点成就感的作业吧,毕竟以我个人的水平和热爱学习的程度可能上学期间是我最后和计算机科学打交道的日子了orz(我的智商就不去拉低程序猿的平均水平了)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【正题part】**
这道题是【计算机图形学】的第一次作业(中的一道题),原题如图
我在做之前先手画了好多好多个(脑子笨没办法QAQ)然后发现了其实质数很好画,但是非质数就很容易漏线…
还是直接码实验报告吧:
**
算法设计原理:有 0 个或 2 个奇点的连通图能够一笔画成,否则不能一笔画成,所以n必须为奇数。
由于两点之间只需连一次,因此最大间隔不会超过n/2。当间隔不是n的因数时,连接所有点可以不会重复的遍历再回到原点;
当间隔是n的因数时,会提前回到原点,此时将原点向原间隔-1的位置连线接过去,可以按照原间隔开始新一轮小循环,且不用担心会出现-1之后再轮回,因为奇数不会有偶因子,因此原间隔必为奇数,原间隔-1为偶数必不是n的因子;
解决完此因数间隔后可直接从最后一个“原点”处继续下一轮间隔-1的正常连线,由于从最初的原点到现在的“原点”已经是按照原间隔-1连过来的,所以不用考虑前面的点,可以正常进入下一轮循环。
(是不是感觉说的很乱??我也不想啊QAQ人菜没办法好不容易大概摸索出来了还说不清楚QAQ直接看代码吧