C++代码变乱码 自己实在是恢复不过来了

最近突然发现代码变成了乱码,破解的时候难度很大, 经过推理和研究发现,在原来的字符+33或+31但是如果大于了128(ASCII的最大英文字符),则会减去128,变成个位数数字。现在需要逆转为原先的字符,有没有能帮帮忙的?一下是一个代码段(默认先放出问题的,后放没问题的,东西太多,备份的少)

题目名称:数的计数

问题代码:

 HOBMTEDHNRUSD@L,+TRHOFO@LDRQ@BDRUE,+HOUB,+WNHEG    HOULZ,+(B

,+(HG    LZ,+((GNS    HOUHHLH

Z,+(((G    H,+((\,+(\,+\,+HOUL@HO    Z,+(HOUY,+(BHOY,+(G    Y,+(BNTUBDOEM,+(SDUTSO,+\,+

应转代码:

#include<iostream>
using namespace std;
int c;
void f(int m) {
    c++;
    if(m>=2) {
        for(int i=1; i<=m/2; i++) {
            f(i);
        }
    }
}
int main() {
    int x;
    cin>>x;
    f(x);
    cout<<c<<endl;
    return 0;
}