1. 程式人生 > 實用技巧 >條件編譯(debug)

條件編譯(debug)

1.

#ifdef 識別符號

程式碼段1

#else

程式碼段2(可以為空)

#endif (條件編譯結束語句,和#ifdef配套使用)

如果識別符號被#define過,則編譯程式碼段1,否則編譯程式碼段2

2.

#ifndef 識別符號

程式碼段1

#else

程式碼段2(可以為空)

#endif (條件編譯結束語句,和#ifdef配套使用)

如果識別符號沒被#define過,則編譯程式碼段1,否則編譯程式碼段2

3.

#if 識別符號

程式碼段1

#else

程式碼段2(可以為空)

#endif (條件編譯結束語句,和#ifdef配套使用)

同方法1

#include <bits/stdc++.h>

#define _DEBUG
using namespace std;

int sum(long long n) 
{
	int res = 0;
	while (n > 0) 
	{
		res += n % 10;
		n /= 10;
	}
	return res;
}

int main() 
{
    
#ifdef _DEBUG
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	
	int t;
	cin >> t;
	while (t--) {
		long long n;
		int s;
		cin >> n >> s;
		long long ans = 0;
		if (sum(n) <= s) {
			cout << 0 << endl;
			continue;
		}
		long long pw = 1;
		for (int i = 0; i < 18; ++i) {
			int digit = (n / pw) % 10;
			long long add = pw * ((10 - digit) % 10);
			n += add;
			ans += add;
			if (sum(n) <= s) {
				break;
			}
			pw *= 10;
		}
		cout << ans << endl;
	}
	
	return 0;
}