P1050 [NOIP2005 普及组] 循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1050 [NOIP2005 普及组] 循环相关的知识,希望对你有一定的参考价值。

参考技术A 题目地址

首先看测试数据 这是一道高精度的题目
尾数循环是肯定会有的,只是不一定和初始值相等(WA一次之后才知道)

用特殊的模乘法 来累乘 判断和输入值是否相等 来确定循环次数
但是这道题目的数据规模很大 需要优化 不然10^100次方的规模肯定会超时

思路
累乘数=初始值
先计算第一位循环需要的次数 记为a1
然后累乘数=累乘数^a1
再计算下一位的循环需要的次数 a2
直到第k位
最后用大数乘法计算 a1 a2 a3 ..... ak 得到结果
如果ai>10证明在i位 不能在初始值上面循环 就返回-1
因为是10进制 累乘11次还没得到初始值 肯定就在别的值上面循环了

这样最多只需要判断10*100=1000次就可以解决问题

以上是关于P1050 [NOIP2005 普及组] 循环的主要内容,如果未能解决你的问题,请参考以下文章

noip普及组2005 陶陶摘苹果

[NOIP2005] 普及组

1102 采药 2005年NOIP全国联赛普及组

codevs 1102 采药 2005年NOIP全国联赛普及组

noip普及组2005 采药

luogu P1048ybtoj背包问题课堂过关DP例题1采药问题 &NOIP2005 普及组采药