QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#48553#3995. Terrible Additive Number Theory Problem13889577060#AC ✓28ms4580kbC++932b2022-09-14 15:26:282022-09-14 15:26:31

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-09-14 15:26:31]
  • 评测
  • 测评结果:AC
  • 用时:28ms
  • 内存:4580kb
  • [2022-09-14 15:26:28]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<int> GetPrime(int n) {
  vector<bool> mark(n + 1);
  vector<int> Prime;
  for (int i = 2; i <= n; ++i) {
    if (!mark[i]) {
      Prime.emplace_back(i);
    }
    for (int j = 0; j < Prime.size() && i * Prime[j] <= n; ++j) {
      mark[i * Prime[j]] = true;
      if (i % Prime[j] == 0) {
        break;
      }
    }
  }
  return Prime;
}
int main() {
	long long n;
	cin >> n;
	auto p = GetPrime(2000000);
	int m = p.size();
	int ans = 0;
	for (int i = 1; i < m; ++i) {
		ll mul = 1;
		for (int l = i - 1; l >= 0; --l) {
			if (n / p[l] < mul) {
				break;
			}
			mul *= p[l];
			if (mul <= n && (mul + 1) % p[i] == 0) {
				ll div = (mul + 1) / p[i];
				while (div % 2 == 0) {
					div /= 2;
				}
				if ((mul + 1) / p[i] > 1 && div == 1) {
					ans++;
					break;
				}
			}
		}
	}
	cout << ans << '\n';
}

详细

Test #1:

score: 100
Accepted
time: 20ms
memory: 4580kb

input:

100

output:

0

result:

ok 1 number(s): "0"

Test #2:

score: 0
Accepted
time: 22ms
memory: 4436kb

input:

10000

output:

1

result:

ok 1 number(s): "1"

Test #3:

score: 0
Accepted
time: 18ms
memory: 4308kb

input:

1767

output:

0

result:

ok 1 number(s): "0"

Test #4:

score: 0
Accepted
time: 19ms
memory: 4504kb

input:

9876

output:

1

result:

ok 1 number(s): "1"

Test #5:

score: 0
Accepted
time: 17ms
memory: 4496kb

input:

1800

output:

0

result:

ok 1 number(s): "0"

Test #6:

score: 0
Accepted
time: 17ms
memory: 4516kb

input:

9540

output:

1

result:

ok 1 number(s): "1"

Test #7:

score: 0
Accepted
time: 22ms
memory: 4424kb

input:

1926

output:

0

result:

ok 1 number(s): "0"

Test #8:

score: 0
Accepted
time: 22ms
memory: 4576kb

input:

8426

output:

1

result:

ok 1 number(s): "1"

Test #9:

score: 0
Accepted
time: 23ms
memory: 4520kb

input:

2022

output:

0

result:

ok 1 number(s): "0"

Test #10:

score: 0
Accepted
time: 23ms
memory: 4520kb

input:

7826

output:

1

result:

ok 1 number(s): "1"

Test #11:

score: 0
Accepted
time: 28ms
memory: 4568kb

input:

1000000000000000000

output:

1

result:

ok 1 number(s): "1"

Test #12:

score: 0
Accepted
time: 28ms
memory: 4524kb

input:

284398329857324927

output:

1

result:

ok 1 number(s): "1"

Test #13:

score: 0
Accepted
time: 24ms
memory: 4500kb

input:

928473658274163764

output:

1

result:

ok 1 number(s): "1"

Test #14:

score: 0
Accepted
time: 19ms
memory: 4504kb

input:

2435

output:

1

result:

ok 1 number(s): "1"

Test #15:

score: 0
Accepted
time: 22ms
memory: 4472kb

input:

2430

output:

0

result:

ok 1 number(s): "0"

Test #16:

score: 0
Accepted
time: 19ms
memory: 4508kb

input:

2425

output:

0

result:

ok 1 number(s): "0"

Test #17:

score: 0
Accepted
time: 22ms
memory: 4508kb

input:

2431

output:

1

result:

ok 1 number(s): "1"

Test #18:

score: 0
Accepted
time: 22ms
memory: 4304kb

input:

2432

output:

1

result:

ok 1 number(s): "1"

Test #19:

score: 0
Accepted
time: 22ms
memory: 4472kb

input:

1

output:

0

result:

ok 1 number(s): "0"

Test #20:

score: 0
Accepted
time: 27ms
memory: 4416kb

input:

12349723982598

output:

1

result:

ok 1 number(s): "1"