目 录CONTENT

文章目录

深圳2021-CSP-S-C++初赛题第11题选择题暴力解析

Dioxide-CN
2021-09-23 / 0 评论 / 2 点赞 / 25 阅读 / 631 字
温馨提示:
本文最后更新于 2022-04-21,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

先来看看网友们对今年深圳CSP的评价:

知乎评价

再来看下第11题的原题:

题:有如下递归代码
solve(t, n):
if t=1 return 1
else return 5*solve(t-1,n) mod n
则 solve(23,23)的结果为( )。
A. 1        B. 7
C. 12     D. 22
答案:A

使用代码来实现:

package dioxide.cn.solve;
public class solve {
    public static int solve(int t, int n){
        if (t == 1) { return 1; }
        else { return 5 * solve(t-1, n) % 23; }
    }
    public static void main(String[] args){
        System.out.println(solve(23, 23));
    }
}
#include <iostream>
using namespace std;
int solve(int t, int n){
    if(t == 1) return 1;
    else return (5 * solve(t-1, n) % n);
}
int main(){
    cout << solve(23,23) << endl;
    return 0;
}

当然,既然是笔试题那肯定是没有计算机在手边的,所以采用的“最佳方案”的话,就是暴力迭代了,以下是与__Lettle__共同探讨得出的思路流程图:
流程图

2

评论区