pascal奇怪数列编程输入3个整数n,p,q,寻找一个由整数组成的数列(a1,a2,……,an),要求:其中任意连续p
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/07 07:40:51
pascal奇怪数列
编程输入3个整数n,p,q,寻找一个由整数组成的数列(a1,a2,……,an),要求:其中任意连续p项之和为正数,任意连续q项之和为负数.0
编程输入3个整数n,p,q,寻找一个由整数组成的数列(a1,a2,……,an),要求:其中任意连续p项之和为正数,任意连续q项之和为负数.0
设a[0](等于0)到a[i]的部分和为s[i],则只要求出s[0],s[1],…,s[n]之间的关系即可.而他们之间的关系可以用有向图表示,且在有向图中连成环的即为无解.对于a[i]至a[j]的和的表示方法,可以表示为s[j]-s[i-1].
求n=6,p=3,q=5时的数列.
设这六个数和a[0]为:
a[0] a[1] a[2] a[3] a[4] a[5] a[6]
部分和为:
s[0] s[1] s[2] s[3] s[4] s[5] s[6]
则可以得出:
s[3]-s[0]>0,s[4]-s[1]>0,s[5]-s[2]>0,s[6]-s[3]>0,s[5]-s[0]s[1],s[5]>s[2],s[6]>s[3],s[0]>s[5],s[1]>s[6]
由此可知,这个数列有解,且s数组的大小顺序为:
s[4]>s[1]>s[6]>s[3]>s[0]>s[5]>s[2]
又因为已知s[0]=0,所以将其余数依次加/减1,得:
s[4]=4,s[1]=3,s[6]=2,s[3]=1,s[0]=0,s[5]=-1,s[2]=-2
即s数组依次为:
0,3,-2,1,4,-1,2
由此可知a数组依次为:
3,-5,3,3,-5,3
我的代码太丑了,这个是sqybi在N年前写过的程序..
Program n_p_q;
Const
m = 10;
Var
s,n,p,q,i,k,L:Integer;
G:Array[0..m,0..m]Of 0..1;
t:Array[0..m]Of Record
i,o:Integer;
f:Boolean;
End;
a,r,rr,tt:Array[0..m]Of Integer;
Begin
WriteLn('请输入n,p,q的值:');
ReadLn(n,p,q);
FillChar(G,SizeOf(G),0);
For i:=0 To n Do t[i].f := True;
For i:=0 To n-p Do Begin
G[i+p,i] := 1;
Inc(t[i+p].o);
Inc(t[i].i);
End;
For i:=0 To n-q Do Begin
G[i,i+q] := 1;
Inc(t[i].o);
Inc(t[i+q].i);
End;
L := 1;
While L
求n=6,p=3,q=5时的数列.
设这六个数和a[0]为:
a[0] a[1] a[2] a[3] a[4] a[5] a[6]
部分和为:
s[0] s[1] s[2] s[3] s[4] s[5] s[6]
则可以得出:
s[3]-s[0]>0,s[4]-s[1]>0,s[5]-s[2]>0,s[6]-s[3]>0,s[5]-s[0]s[1],s[5]>s[2],s[6]>s[3],s[0]>s[5],s[1]>s[6]
由此可知,这个数列有解,且s数组的大小顺序为:
s[4]>s[1]>s[6]>s[3]>s[0]>s[5]>s[2]
又因为已知s[0]=0,所以将其余数依次加/减1,得:
s[4]=4,s[1]=3,s[6]=2,s[3]=1,s[0]=0,s[5]=-1,s[2]=-2
即s数组依次为:
0,3,-2,1,4,-1,2
由此可知a数组依次为:
3,-5,3,3,-5,3
我的代码太丑了,这个是sqybi在N年前写过的程序..
Program n_p_q;
Const
m = 10;
Var
s,n,p,q,i,k,L:Integer;
G:Array[0..m,0..m]Of 0..1;
t:Array[0..m]Of Record
i,o:Integer;
f:Boolean;
End;
a,r,rr,tt:Array[0..m]Of Integer;
Begin
WriteLn('请输入n,p,q的值:');
ReadLn(n,p,q);
FillChar(G,SizeOf(G),0);
For i:=0 To n Do t[i].f := True;
For i:=0 To n-p Do Begin
G[i+p,i] := 1;
Inc(t[i+p].o);
Inc(t[i].i);
End;
For i:=0 To n-q Do Begin
G[i,i+q] := 1;
Inc(t[i].o);
Inc(t[i+q].i);
End;
L := 1;
While L
pascal奇怪数列编程输入3个整数n,p,q,寻找一个由整数组成的数列(a1,a2,……,an),要求:其中任意连续p
编程,任意输入10个整数的数列,输入一个整数插入到数数列中,使数列保持从大到小的顺序.
n个自然数构成数列a1,a2,…an,求证:这个数列中一定有一个数或连续若干个数的和被n整除.
n个自然数构成数列a1,a2,…an,求证:这个数列中一定有一个数或连续若干个数的和被n整除
1、n个自然数构成数列a1,a2,…an,求证:这个数列中一定有一个数或连续若干个数的和被n整除.
【急!】设{an}是由非负整数组成的数列,满足a1+0,a2=3,(an+1)( an )=(an-1)( an-2+2
(2012•湖北模拟)已知数列A:a1,a2,…,an(0≤a1<a2<…an,n≥3)具有性质P;对任意i,j(1≤i
整数数列{An}满足 A1*A2+A2*A3+…+A(n-1)*An=(n-1)*n*(n+1)/3 ,(n=2,3,…
已知{an}是由非负整数组成的数列,满足a1=0 a2=3 an+1an=(an+1+2)(an-2+2) n≥3 求a
已知数列{an}有a1=a,a2=p(常数p>0),对任意的正整数n,Sn=a1+a2+...
设数列an,对任意n∈正整数都有(kn+b)(a1+an)+p=2(a1+a2+...+an),其中k,b,p为常数.
已知an的绝对值是非负整数组成的数列,满足a1=0,a2=3,an+1*an=(an-1 +2)*(an-2 +2),n