求解答,为什么只过了第一个测试用例,真的想不明白
查看原帖
求解答,为什么只过了第一个测试用例,真的想不明白
1156961
xuleii楼主2024/2/27 14:24
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  long long int n, ceng = 0, shang = 0, xia = 0;
  long long int count = 0;
  scanf("%lld", &n);
  for (long long int i = n; i > 0; i--)
  {
    if ((i + 1) * (i + 2) / 2 <= n && (i + 3) * (i + 2) / 2 > n)
    {
      ceng = i + 1;
      count = i * (i + 1) / 2;
      break;
    }
  }
  if (ceng % 2 == 0)
  {
    shang = n - count;
    xia = ceng + 1 - shang;
  }
  else
  {
    xia = n - count;
    shang = ceng - xia + 1;
  }
  printf("%lld/%lld", shang, xia);
  return 0;
}
2024/2/27 14:24
加载中...