CF599D.Spongebob and Squares

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Spongebob is already tired trying to reason his weird actions and calculations, so he simply asked you to find all pairs of n and m, such that there are exactly x distinct squares in the table consisting of n rows and m columns. For example, in a 3 × 5 table there are 15 squares with side one, 8 squares with side two and 3 squares with side three. The total number of distinct squares in a 3 × 5 table is 15 + 8 + 3 = 26.

海绵宝宝已经厌倦了思考自己那些奇怪的行为和计算,所以他直接请你找出所有满足条件的正整数对 (n,m)(n, m),使得一个 nn 行 mm 列的表格中恰好有 xx 个不同的正方形。例如,在一个 3×53 \times 5 的表格中,边长为 11 的正方形有 1515 个,边长为 22 的正方形有 88 个,边长为 33 的正方形有 33 个。因此,该 3×53 \times 5 表格中不同正方形的总数为 15+8+3=2615 + 8 + 3 = 26。

输入格式

The first line of the input contains a single integer x (1 ≤ x ≤ 1018) — the number of squares inside the tables Spongebob is interested in.

输入的第一行包含一个整数 xx(1 ≤ x ≤ 10181 \le x \le 10^{18})—— 表示海绵宝宝感兴趣的表格中正方形的数量。

输出格式

First print a single integer k — the number of tables with exactly x distinct squares inside.

Then print k pairs of integers describing the tables. Print the pairs in the order of increasing n, and in case of equality — in the order of increasing m.

首先输出一个整数 kk —— 表示恰好包含 xx 个不同正方形的表格的数量。

然后输出 kk 对整数,用以描述这些表格。请按 nn 升序输出这些数对;若 nn 相同,则按 mm 升序输出。

输入输出样例

  • 输入#1

    26

    输出#1

    6
    1 26
    2 9
    3 5
    5 3
    9 2
    26 1
  • 输入#2

    2

    输出#2

    2
    1 2
    2 1
  • 输入#3

    8

    输出#3

    4
    1 8
    2 3
    3 2
    8 1

说明/提示

In a 1 × 2 table there are 2 1 × 1 squares. So, 2 distinct squares in total.

In a 2 × 3 table there are 6 1 × 1 squares and 2 2 × 2 squares. That is equal to 8 squares in total.

在一个 1×21 \times 2 的表格中,有 22 个 1×11 \times 1 的方格,因此共有 22 个互不相同的方格。

在一个 2×32 \times 3 的表格中,有 66 个 1×11 \times 1 的方格和 22 个 2×22 \times 2 的方格,总计 88 个方格。

输入解题思路,AI测评打分。不知道怎么写?

首页