题目
An arithmetic progression is a sequence of the form a, a+b, a+2b, …, a+nb where n=0, 1, 2, 3, … . For this problem, a is a non-negative integer and b is a positive integer.
Write a program that finds all arithmetic progressions of length n in the set S of bisquares. The set of bisquares is defined as the set of all integers of the form p2 + q2 (where p and q are non-negative integers).
一个等差数列是一个能表示成a, a+b, a+2b,…, a+nb (n=0,1,2,3,…)的数列。
在这个问题中a是一个非负的整数,b是正整数。写一个程序来找出在双平方数集合(双平方数集合是所有能表示成p的平方 + q的平方的数的集合,其中p和q为非负整数)S中长度为n的等差数列。
题解
枚举
代码
/*
ID: yjy_aii1
TASK: ariprog
LANG: C++
*/
#include <cstdio>
using namespace std;
int n,m,bz;
bool f[125010];
int main(){
freopen("ariprog.in","r",stdin);
freopen("ariprog.out","w",stdout);
scanf("%d%d",&n,&m);
for (int i=0;i<=m;i++)
for (int j=i;j<=m;j++)
f[i*i+j*j]=1;
int max=m*m*2;
for (int i=1;i<=max/(n-1);i++){
for (int j=0;j<=max-(n-1)*i;j++){
int t=0,e=j;
while (f[e]&&t<n) t++,e+=i;
if (t>=n) printf("%d %d\n",j,i),bz=1;
}
}
if (!bz) printf("NONE\n");
}
一世清誉楚河坠
叹,西楚霸王势正好,豫州荥阳,楚河汉界,是日公元前205年夏。
哀,楚汉争霸势不再,亚父已去,兵败唐颓,是日公元前202年秋。
怎奈何,籍一世英华,亦谓言之一世清誉,终坠楚河,不复从前弹指间!
悲,虞兮虞兮奈若何,霸王自刎于江东!
——公元前202年,项羽兵败垓下(今安徽灵璧县南),突围至乌江(今安徽和县乌江镇)边自刎而死。
哈哈,真的不是cp名之类奇奇怪怪的东西
也不是楚明允和苏世誉
真的