猫史档案馆


[C++]递归 内存

用户:Hctr127Hctr127查看:0 回复:0 评论:0 创建时间:2022-11-21T21:52:11


递归,即让函数自己执行自己,运行效率极快,使用for遍历会运行超时但是使用递归却不会

#include <iostream>
#include <cstring>
using namespace std;
int n = 0;
int dg(char a[],int len,int index)
{
	if ((int)a[index]%2==1&& (int)a[index] %  3== 0)
	{
		n += a[index];
	}
	if (index < len)
	{
		return dg(a, len, index += 1);
	}
	else
	{
		return n;
	}
}

int main()
{
	char a[100000];
	cin >> a;
	cout<<dg(a, strlen(a), 0);
	return 0;
}

内存(RAM),不是存储空间(ROM),在C++中常使用new来给指针分配内存

#include <iostream>
int main()
{
	int *ps = new int;
	*ps = 114;
	std::cout<<*ps;
	return 0;
 }

而指针离开了作用域就无法使用,也就造成了内存泄漏。而把内存泄漏和递归结合在一起,就可以高效炸内存

void outmemory()
{
  char *a = new char;
  return fuckmemory();
}
int main()
{
  outmemory();
}

非常适合刷题到恼怒时打一段快速关机


回复

上一页1 页 / 共 0下一页