算法笔记刷题记录
Chapter3 入门篇(1) 模拟
3.1 简单的模拟
1.PAT B1001 害死人不偿命的(3n+1)猜想.
// 1001 害死人不偿命的(3n+1)猜想
#include <iostream>
using namespace std;
int n, cnt;
int main()
{
cin >> n;
while (n != 1){
if (n % 2 != 0) {
n = 3 * n + 1;
}
n /= 2;
cnt++;
}
cout << cnt << endl;
return 0;
}
2.PAT B1011 A+B 和 C
// 1002 A + B 和 C
#include <iostream>
using namespace std;
typedef long long ll;
int t;
ll a, b, c;
int main()
{
cin >> t;
for (int i = 1; i <= t; ++i) {
cin >> a >> b >> c;
if (a + b > c)
cout << "Case #" << i << "true" << endl;
else
cout << "Case #" << i << "false" << endl;
}
return 0;
}
//1016
#include <iostream>
using namespace std;
typedef long long LL;
LL a, b, da, db;
LL f(int x, int dx) {
LL ans = 0;
while (x > 0) {
if (x % 10 == dx) {
ans = ans * 10 + dx;
}
x /= 10;
}
return ans;
}
int main()
{
cin >> a >> da >> b >> db;
cout << f(a,da) + f(b,db) << endl;
return 0;
}