小红划数字 and 小红填符号 and 小红和R (模拟)

213 阅读1分钟

小红划数字

在这里插入图片描述 在这里插入图片描述

  • 关键思路:这个数的个位数字是偶数,那它就是偶数;所以我们可以优先划掉后面的数字,直到遇到偶数为止;
  • 不要想的太复杂了;
#include <bits/stdc++.h>
using namespace std;

string nums;
int main() {
	
	cin >> nums;
	bool flag = false;
	int lenN = nums.size();
	int ans = 0;
	for (int i = lenN - 1; i >= 0; --i){
		int x = nums[i] - '0';
		if (x & 1) {
			ans++;
			continue;
		}
		else {
            flag = true;
            break;
        }
	}
	if (flag) printf ("%d", ans);
	else cout << -1;
	return 0;
} 

小红填符号

在这里插入图片描述

  • 思路:模拟(16个if),这是暴力的方法

#include <bits/stdc++.h>
using namespace std;

double a, b, c, x; // !!!
// 注意要特判除0的情况 
int main (){
	
	cin >> a >> b >> c >> x;
	if (a + b + c == x) cout << "+ +" << endl;
	else if (a + b - c == x) cout << "+ -" << endl; 
	else if (a + b * c == x) cout << "+ *" << endl;
	else if (c && (a + b / c == x)) cout << "+ /" << endl;
	else if (a - b + c == x) cout << "- +" << endl;
	else if (a - b - c == x) cout << "- -" << endl;
	else if (a - b * c == x) cout << "- *" << endl;
	else if (c && a - b / c == x) cout << "- /" << endl;
	else if (a * b + c == x) cout << "* +" << endl;
	else if (a * b - c == x) cout << "* -" << endl;
	else if (a * b * c == x) cout << "* *" << endl;
	else if (c && a * b / c == x) cout << "* *" << endl;
	else if (b && a / b + c == x) cout << "/ +" << endl;
	else if (b && a / b - c == x) cout << "/ -" << endl;
	else if (b && a / b * c == x) cout << "/ *" << endl;
	else if (b && c && a / b / c == x) cout << "/ /" << endl;
	else cout << "? ?" << endl;
	return 0;
} 


小红和R (模拟)

在这里插入图片描述 在这里插入图片描述

  • 思路:找规律
  • 第一行,输出n+2个R;
  • 接下来n行,先输出一个R,然后输出n个空格,接着再输出一个R来结尾;
  • 接下来,输出n+2个R;
  • 接下来的n+1行,每行都是输出两个R,注意,两个R之间有空格,空格的个数从0开始递增,知道最后一行
  • 有时候这样的题,单个看,不好看,就得一块一块的分区看,来找规律;
#include <bits/stdc++.h>
using namespace std;
int n;
int main() {
	cin >> n;
	for (int i = 0; i < n + 2; ++i) {
		cout << "R";
	}
	cout << endl;
	for (int i = 0; i < n; ++i) {
		cout << "R";
		for (int j = 0; j < n; ++j) {
			cout << ' ';
		}
		cout << "R" << endl;
	}
	for (int i = 0; i < n + 2; ++i) {
		cout << "R";
	}
	cout << endl;
	for (int i = 0; i < n + 1; ++i) {
		cout << "R";
		for (int j = 0; j < i; ++j) {
			cout << ' ';
		}
		cout << "R" << endl;
	}
	return 0;
}