社区讨论

关于CCF公开搞事(逃

学术版参与者 15已保存回复 55

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
53 条
当前快照
1 份
快照标识符
@m1c9yt9u
此快照首次捕获于
2024/09/21 22:58
去年
此快照最后确认于
2025/11/05 01:51
4 个月前
查看原帖
各位参加CSP-J的朋友们都看到试卷了吧!(明知故问)
现在,我要告诉你一个特离谱的事。
看到阅读程序了吧,阅读程序的第三题长这样:
CPP
#include<iostream>
#include<cmath>
using namespace std;

int customFunction(int a,int b){
  	if(b == 0){
  		return a;
  	}
  	return a + customFunction(a,b - 1);
}

int main(){
	int x,y;
	cin >> x >> y;
	int result = customFunction(x,y);
	cout << pow(result, 2) << endl;
	return 0;
}
题目是这样的:
判断题:
CPP
27.当输入为“2 3”时,customFunction(2,3)的返回值为“64”。
这题选错误没毛病吧!
然后我看到了下面两题的题目的题解(民间):
CPP
28.当 b 为负数时,customFunction(a,b)会陷入无限递归。()

A.正确  
B.错误

29.当b的值越大,程序的运行时间越长。()

A.正确  
B.错误

然后我这两题就都写了A,似乎也没多大毛病。然后……
CPP
int的数据范围是-2147483648+2147483647 ,也就是说b一直减,减到 -2147483648 的时候再减一,就会变成 +2147483647 。
这么说的话,当 b 为负数时,customFunction(a,b)会陷入无限递归。是错的,只会是运行时间慢了点,当b的值越大,程序的运行时间越长。也是错的,  是当b是负数时,越靠近0越大  才是对的
所以……
CCF你玩我心态呢是吧,我的三分啊呜呜呜

回复

55 条回复,欢迎继续交流。

正在加载回复...