P6267 [SHOI2002]N的连续数拆分这道题,假设一个等差数列的首项为a(a≥1),末项为b(b≥a),则a+b肯定是大于等于 2 的,但我程序从 2 开始循环就全 WA 了(我想全WA了有点不正常),从 1 开始就 AC 了,这是为什么?
蒟蒻尚菜,大佬勿喷
以下为代码
#include <bits/stdc++.h>
using namespace std;
#define int long long int
int a,t,cnt;
signed main()
{
cin>>a;
a=a<<1;
for(int s=2;s*s<=a+1;s++) //s=a+b
{
if(a%s!=0) continue;
t=a/s;
if((s%2==0&&t%2!=0)||(s%2!=0&&t%2==0))
cnt++;
}
cout<<cnt;
return 0;
}