⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3136391_pe.cpp

📁 北大大牛代码 1240道题的原代码 超级权威
💻 CPP
字号:
#include <stdio.h>
#include <math.h>

#define MAXN 1e14
typedef long double num;
typedef __int64 Int;

int R[100][2];

int main ()
{
  Int n, t, d;
  int c, k, z, i;
  num x;

  while (scanf ("%I64d", &n) == 1) {
    c = 0;  z = (exp (log (3.0*n) / 3) + 3);
    n *= 6;
    for (k = 1; k <= z; k++) {
      t = n/k;  if (t*k != n) continue;
      d = 6*t - 3*((Int) k*k-1);  if (d <= 0) break;
      x = sqrt(d);  x = floor ((x+d/x+1)/2);
      if (x*x != d) continue;
      t = x - 3*(k-1);  if (t % 6 || t <= 0) continue;
      R[c][0]=t/6;  R[c++][1] = k;
    }
    printf ("%d\n", c);
    while (c--) {
      printf ("%d ", k = R[c][1]);
      for (i = 0; i < k; i++) printf (" %d", R[c][0] + i);
      puts ("");
    }
  }
  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -