刷题总结1

暑假第二周练习题 - Virtual Judge (vjudge.net)

刷题总结1_第1张图片

该题就是将含4的数字全部跳过,不难发现,这就导致每位数都要少一个树,这就和9进制十分像,我们只要将该数字转化为9进制,然后将该9进制树的每位大于等于4的树加一就行了;

#include
using namespace std;

int t;
long long K;
int A[20];

void f(long long a) {
    if (a == 0) {
        cout << 0 << endl;
        return;
    }
    int s = 0;
    while (a) {
        A[s] = a % 9;
        a /= 9;
        s++;
    }
    for (int i = s - 1; i >= 0; i--)
    {
        if (A[i] >= 4)
        {
            A[i]++;
        }
        cout << A[i];
    }
    cout << endl;
    return;
}
int main()
{
    cin >> t;
    while (t--)
    {
        cin >> K;
        f(K);
    }
	return 0;
}

 项目进展:

写了主要的界面:

刷题总结1_第2张图片

 

你可能感兴趣的:(算法,c++,数据结构)