View Code of Problem 99

#include<bits/stdc++.h>
using namespace std;
int main() {
	string num;
	while (getline(cin, num)) {
		int tag[5], cnt = 0, t = 0;

		for (int i = 0; i < num.length(); i++) {
			if (num[i] >= '0'&&num[i] <= '9')
				t = t * 10 + num[i] - '0';
			else if (num[i] == ' ') {
				tag[cnt++] = t;
				t = 0;
			}
			if (i == num.length() - 1)
				tag[cnt++] = t;
		}

		if (tag[0] == 0)
			return 0;
		else if (cnt == 1) {
			for (int i = 1; i <= tag[0]; i++){
				if (i == 1)
					cout << i;
				else
					cout << " " << i;
			}
		}
		else if (cnt == 2) {
			if (tag[0] > tag[1]) {
				for (int i = tag[0]; i >= tag[1]; i--) {
					if (i == tag[0])
						cout << i;
					else
						cout << " " << i;
				}
			}
			else {
				for (int i = tag[0]; i <= tag[1]; i++) {
					if (i == tag[0])
						cout << i;
					else
						cout << " " << i;
				}
			}
		}
		else if (cnt == 3) {
			if (tag[0] < tag[1]) {
				for (int i = tag[0]; i <= tag[1]; i += tag[2] + 1) {
					if (i == tag[0])
						cout << i;
					else
						cout << " " << i;
				}
			}
			else {
				for (int i = tag[0]; i >= tag[1]; i -= tag[2] + 1) {
					if (i == tag[0])
						cout << i;
					else
						cout << " " << i;
				}
			}
		}
		cout << endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 99