[USACO1.4]等差数列 Arithmetic Progressions 枚举

14 篇文章 0 订阅
3 篇文章 0 订阅

题目

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名之类奇奇怪怪的东西
也不是楚明允和苏世誉
真的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值