题目:迷路的牛牛
牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。
输入描述:
每个输入包含一个测试用例。
每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。
接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。
输出描述:
输出牛牛最后面向的方向,N表示北,S表示南,E表示东,W表示西。
输入例子1:
3
LRR
输出例子1:
E
链接:
牛客网:
思路标签:
- 找规律
解答:
- 规律题
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
char direction[4] = { 'N','E','S','W'};
int now = 0;
for (int i = 0; i < n; ++i) {
char next;
cin >> next;
if (next == 'l' || next == 'L')
now = (now - 1 + 4) % 4;
else if (next == 'r' || next == 'R')
now = (now + 1) % 4;
}
cout << direction[now] << endl;
return 0;
}
题目:被3整除
得到一个神奇的数列: 1, 12, 123,…12345678910,1234567891011…。
并且小Q对于能否被3整除这个性质很感兴趣。
小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。
输入描述:
输入包括两个整数l和r(1 <= l <= r <= 1e9), 表示要求解的区间两端。
输出描述:
输出一个整数, 表示区间内能被3整除的数字个数。
输入例子1:
2 5
输出例子1:
3
例子说明1:
12, 123, 1234, 12345…
其中12, 123, 12345能被3整除。
链接:
牛客网:
思路标签:
- 找规律
解答:
- 规律题
#include <iostream>
using namespace std;
int main() {
int l, r;
cin >> l >> r;
int count = 0;
for (int i = l; i <= r; ++i) {
if (i % 3 == 0 || i % 3 == 2)
count++;
}
printf("%d\n", count);
return 0;
}