j*****y 发帖数: 9 | 1 题目有点数学题的感觉
输入n,输出表达式的最后两位
n=1 03 3=3
n=2 27 3^3=27
n=3 87 3^27=7625597484987
n=4 ?? 3^7625597484987=??
T(n)=3^(T(n-1))
有啥规律可循?
顺便再发个题,打印1000以内所有能分解成两个以上连续数字相加的数字
如12=3+4+5 |
l*********8 发帖数: 4642 | 2 n=2时, 答案是27吧?
【在 j*****y 的大作中提到】 : 题目有点数学题的感觉 : 输入n,输出表达式的最后两位 : n=1 03 3=3 : n=2 27 3^3=27 : n=3 87 3^27=7625597484987 : n=4 ?? 3^7625597484987=?? : T(n)=3^(T(n-1)) : 有啥规律可循? : 顺便再发个题,打印1000以内所有能分解成两个以上连续数字相加的数字 : 如12=3+4+5
|
j*****y 发帖数: 9 | 3 对的,写错了。
【在 l*********8 的大作中提到】 : n=2时, 答案是27吧?
|
l*********8 发帖数: 4642 | 4 n可能多大?
【在 j*****y 的大作中提到】 : 对的,写错了。
|
h***t 发帖数: 2540 | 5 mod 100
write expression out with terms with 100 |
j*****y 发帖数: 9 | 6 题目里没说,所以不好硬解啊,我感觉肯定数学上有什么快速算法规律之类的
【在 l*********8 的大作中提到】 : n可能多大?
|
l*********8 发帖数: 4642 | 7 用f(x)表示你给出的函数。
因为f(x)的值在0-99之间, 所以最多计算100次f(x)之后,就能找到重复的f(x). 也就
是找到一个m, 使得f(m) = f(m-k)
这样, n > m的时候, f(n) = f(m + (n-m)% k))
【在 j*****y 的大作中提到】 : 题目里没说,所以不好硬解啊,我感觉肯定数学上有什么快速算法规律之类的
|
j*****y 发帖数: 9 | 8 不好意思啊,刚才仔细一想发现理解的有问题,已经更新主题了T(n)=3^(T(n-1))
【在 l*********8 的大作中提到】 : 用f(x)表示你给出的函数。 : 因为f(x)的值在0-99之间, 所以最多计算100次f(x)之后,就能找到重复的f(x). 也就 : 是找到一个m, 使得f(m) = f(m-k) : 这样, n > m的时候, f(n) = f(m + (n-m)% k))
|
q****x 发帖数: 7404 | 9 看着像数论题。
【在 j*****y 的大作中提到】 : 题目有点数学题的感觉 : 输入n,输出表达式的最后两位 : n=1 03 3=3 : n=2 27 3^3=27 : n=3 87 3^27=7625597484987 : n=4 ?? 3^7625597484987=?? : T(n)=3^(T(n-1)) : 有啥规律可循? : 顺便再发个题,打印1000以内所有能分解成两个以上连续数字相加的数字 : 如12=3+4+5
|
l*******b 发帖数: 2586 | 10 3^100 = 1mod 100
你只算 3 到上次结果的后两位次幂就够了。中间模一下稍微优化一下别溢出就可以了
【在 j*****y 的大作中提到】 : 题目有点数学题的感觉 : 输入n,输出表达式的最后两位 : n=1 03 3=3 : n=2 27 3^3=27 : n=3 87 3^27=7625597484987 : n=4 ?? 3^7625597484987=?? : T(n)=3^(T(n-1)) : 有啥规律可循? : 顺便再发个题,打印1000以内所有能分解成两个以上连续数字相加的数字 : 如12=3+4+5
|
l*******b 发帖数: 2586 | 11 嗯这个好,可以解所有这类题目呀,其实 3 ^ 20 = 1 mod 100
f k = f 20+k
模20就可以了
【在 l*********8 的大作中提到】 : 用f(x)表示你给出的函数。 : 因为f(x)的值在0-99之间, 所以最多计算100次f(x)之后,就能找到重复的f(x). 也就 : 是找到一个m, 使得f(m) = f(m-k) : 这样, n > m的时候, f(n) = f(m + (n-m)% k))
|