4.12Shopee杯武汉大学网络预选赛 第五题

题目链接->戳我

题意

给出t个整数n,求(i²+1)/(i+1)不为整数且i<=n的i有多少个

样例
输入:

2
2
13

输出:

1
12

思路
我合理猜想答案是n-1然后wa了一发
把上面那个式子化简一下就变成判断n+(-n+1)/n+1是否为整数,发现结果为整数时结果只有1和1,对应n等于0和1。大于等于1输出n-1,等于0输出0就好。
代码

#include <iostream>
#include <cstdio>
using namespace std;
int main(){
 int t;
 scanf("%d",&t);
 while(t--){
  int n;
  scanf("%d",&n);
  if(n>=1)
  printf("%d\n",n-1);
  else if(n==0)
  printf("0\n");
 }
 return 0;
}

哦豁,完成签到题

你可能感兴趣的:(4.12Shopee杯武汉大学网络预选赛 第五题)