蒟蒻请教问题
  • 板块学术版
  • 楼主XTZ11
  • 当前回复6
  • 已保存回复6
  • 发布时间2021/7/13 15:27
  • 上次更新2023/11/4 14:55:27
查看原帖
蒟蒻请教问题
421981
XTZ11楼主2021/7/13 15:27

P6267 [SHOI2002]N的连续数拆分这道题,假设一个等差数列的首项为a(a1)a(a≥1),末项为b(ba)b(b≥a),则a+ba+b肯定是大于等于 22 的,但我程序从 22 开始循环就全 WAWA 了(我想全WA了有点不正常),从 11 开始就 ACAC 了,这是为什么?

蒟蒻尚菜,大佬勿喷

以下为代码

#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; 
}
2021/7/13 15:27
加载中...