挑战写出一个需要超过Tar(3)年才能结束的程序!(2)
  • 板块灌水区
  • 楼主zhangzixuan1228
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/11/12 20:51
  • 上次更新2024/11/13 05:36:36
查看原帖
挑战写出一个需要超过Tar(3)年才能结束的程序!(2)
1382351
zhangzixuan1228楼主2024/11/12 20:51

上一篇:Part1

6.大约fω+2(10)f_{ω+2}(10)

#include<bits/stdc++.h>
using namespace std;
void h1(int k){
  if(k<=1) return;
  for(int i=1;i<=k;i++) h1(k-1);
}
void h2(int k,int p){
  if(p==1) h1(k);
  if(k==1) h2(p,p-1);
  h2(h2(k-1,p),p-1);
}
void h3(int k){
  if(k<=0) return;
  h2(h2(k-1,k-1),h2(k-1,k-1));
}
void h4(int k){
  if(k<=0) return;
  h3(h4(k-1));
}
int main(){
  h4(10);
}

Tips:如果把这里的10改成65,那么已经超过了G(G(......(64))......)(64层)

7.大约fω×2(10)f_{ω×2}(10)

#include<bits/stdc++.h>
using namespace std;
void h1(int k){
  if(k<=1) return;
  for(int i=1;i<=k;i++) h1(k-1);
}
void h2(int k,int p){
  if(p==1) h1(k);
  if(k==1) h2(p,p-1);
  h2(h2(k-1,p),p-1);
}
void h3(int k,int p){
  if(p==1) h2(k,k);
  if(k==1) h3(p,p-1);
  h3(h3(k-1,p),p-1);
}
int main(){
  h3(10,10);
}

8.大约fω×3(10)f_{ω×3}(10)

#include<bits/stdc++.h>
using namespace std;
void h1(int k){
  if(k<=1) return;
  for(int i=1;i<=k;i++) h1(k-1);
}
void h2(int k,int p){
  if(p==1) h1(k);
  if(k==1) h2(p,p-1);
  h2(h2(k-1,p),p-1);
}
void h3(int k,int p){
  if(p==1) h2(k,k);
  if(k==1) h3(p,p-1);
  h3(h3(k-1,p),p-1);
}
void h4(int k,int p){
  if(p==1) h3(k,k);
  if(k==1) h4(p,p-1);
  h4(h4(k-1,p),p-1);
}
int main(){
  h4(10,10);
}

9.大约fω2(10)f_{ω^2}(10)

#include<bits/stdc++.h>
using namespace std;
void h1(int k){
  if(k<=1) return;
  for(int i=1;i<=k;i++) h1(k-1);
}
void h2(int k,int p){
  if(p==1) h1(k);
  if(k==1) h2(p,p-1);
  h2(h2(k-1,p),p-1);
}
void h3(int k,int p,int pp){
  if(pp==1) h2(k,k);
  if(p==1) h2(pp,pp,pp-1);
  if(k==1) h3(p,p-1,pp);
  h3(h3(k-1,p,pp),p-1,pp);
}
int main(){
  h3(10,10,10);
}

Tips:这也是康威链的增长率!

10.大约fω3(10)f_{ω^3}(10)

#include<bits/stdc++.h>
using namespace std;
void h1(int k){
  if(k<=1) return;
  for(int i=1;i<=k;i++) h1(k-1);
}
void h2(int k,int p){
  if(p==1) h1(k);
  if(k==1) h2(p,p-1);
  h2(h2(k-1,p),p-1);
}
void h3(int k,int p,int pp){
  if(pp==1) h2(k,k);
  if(p==1) h3(k,k,pp-1);
  if(k==1) h3(k,p-1,pp);
  h3(h3(k-1,p,pp),p-1,pp);
}
void h4(int k,int p,int pp,int ppp){
  if(ppp==1) h3(k,k,k);
  if(pp==1) h4(k,k,k,ppp-1);
  if(p==1) h4(k,k,pp-1,ppp);
  if(k==1) h4(k,p-1,pp,ppp);
  h4(h4(k-1,p,pp,ppp),p-1,pp,ppp);
}
int main(){
  h4(10,10,10,10);
}

Tips:这也是带下标康威链的增长率!

未完待续......

2024/11/12 20:51
加载中...