noip入门测试2 附答案

发布 2023-05-18 21:07:28 阅读 2055

将1,2,··9共9个数排成下列形态的三角形。ab c

def g h i

其中:a~i分别表示1,2,··9中的一个数字,并要求同时满足下列条件:

(1)a (2)b (3)a+b+d+f=f+g+h+i=i+e+c+a=p;

程序要求:根据输入的边长之和p,输出所有满足上述条件的三角形的个数。

var a,b,c,d,e,f,g,h,i,p:longint;

begin read(p); for a:=1 to 9 do

for b:=1 to 9 do

for c:=1 to 9 do

for d:=b+1 to 9 do

for e:=c+1 to 9 do

for f:=a+1 to 9 do

for g:=1 to 9 do

for h:=g+1 to 9 do

for i:=f+1 to 9 do

if (a+b+c+d+e+f+g+h+i=45) and (a*b*c*d*e*f*g*h*i=2*3*4*5*6*7*8*9) and (a (b (i+e+c+a=p) then begin writeln(a:2,b:2,c:

2,d:2,e:2,f:

2,g:2,h:2,i:

2);s:=s+1;end;

write(s);

end.p=17 输出 2

p=18 输出 0

p=20 输出 6

p=21 输出 4

在下面的算式中每个“#” 都表示一个素数数字。#

请编写程序确定这些数字,输出所有的解。

输出格式:依次打印输出每一种解,每行表示一种解,格式为。

var a,b,c,d,e,f,s1,s2,x1:integer;

beginfor a:=2 to 7 do

if (a=2) or (a=3) or (a=5) or (a=7) then

for b:=2 to 7 do

if (b=2) or (b=3) or (b=5) or (b=7) then

for c:=2 to 7 do

if (c=2) or (c=3) or (c=5) or (c=7) then

for d:=2 to 7 do

if (d=2) or (d=3) or (d=5) or (d=7) then

for e:=2 to 7 do

if (e=2) or (e=3) or (e=5) or (e=7) then

for f:=2 to 7 do

if (f=2) or (f=3) or (f=5) or (f=7) then begin

x1:=a*10+b;

s1:=x1*c;

s2:=d*100+e*10+f;

if s1=s2 then writeln(x1,'*c,'=s2);

end;end.

从键盘输入一个整数w,从m开始,有连续n个整数的和为w,当然,这样的m和n可能不止一对,编程求出当m+n的值为最小时的m和n。(如输入78,有1+2+……12=78,m=1,n=12,有18+19+20+21=78,m=18,n=4,有25+26+27=78,m=25,n=3,因为1+12为最小,所以输出1和12)

var w,m,n,i,j,s,m1,n1,min:integer;

begin

readln(w);

i:=0;min:=10000;

repeat

i:=i+1;

n:=1; m:=i; s:=i; j:=i;

repeat

n:=n+1;

j:=j+1;

s:=s+j;

until s>=w;

if (s=w)and(m+n begin min:=m+n;m1:=m;n1:=n;end;

until i>w div 2;

writeln(m1,' n1);

readln;

end.输入 153 (1 17) 5768(5 103) 12345(397 30)

若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为a类数,否则就称其为b类数。

例如:(13)10=(1101)2

其中1的个数为3,0的个数为1,则称此数为a类数;

其中1的个数为2,0的个数也为2,称此数为b类数;

其中1的个数为2,0的个数为3,则称此数为b类数;读入一文件输出对应的类型。如文件为:

则输出:13a 24b 32b 15a 14a

var n,a,b,x,y:longint;f:text;

begin

assign(f,''reset(f);

while not eof(f) do

beginread(f,n);write(n:5);

a:=0;b:=1;

repeat求出二进制}

a:=a+b*(n mod 2);

b:=b*10b扩大10倍}

n :=n div 2;

until n=0;

x:=0;y:=0;

while a>0 do

beginif a mod 10=1 then x:=x+1

else y:=y+1;

a:=a div 10;

end;if x>y then write('a ')else write('b ')

end; readln;

close(f);

end.输入 56 (56b)312(312b) 798(798a) 151(151a)

由键盘输入一个奇数 p (p<50),其个位数字不能是5,求一个整数 s,使 p*s = 1111...1,即乘积各位都是1。要求用两行依次输出以下结果:

①s的全部数字;②乘积中数字1的个数。

例:输入p=3,由于3*37=111,则应输出①37;②3。

输入输出样例:

输入1:p=3

输出1:37

varp,a,b,c,n:integer;

beginreadln(p);

a:=0; n:=0;

while (a a:=a*10+1;

n:=n+1;

end;repeat

b:=a div p;

write(b:1);

c:=a-p*b;

a:=c*10+1;

n:=n+1;

until c<=0;

n:=n-1;

writeln;

writeln('n=',n );

end.输入 11输出 1

输入 13 输出 8547

输入 49输出 22675430839

有一张分数表,其中的每一项是以z字形先后次序按某种规律形成的,每一项编号和对应的分数如下表和下图:

请根据表中规律,对输入的整数n(1≤n≤10000),输出对应的第n项分数。

样例输入:8

样例输出:2/3

var i,n:integer;

begini:=0;

readln(n);

while i n:=n-i;

i:=i+1;

end;if i mod 2=0 then writeln(n,'/i+1-n)

else writeln(i+1-n,'/n);

end.输入 24 输出 5/3

pascal入门测验2 附答案

小学复赛集训2 1 问题描述 某科技展教馆的团体入场费30人为50元,超过30人后,每增加1 人增加费用1元,为了使所有人平均后的每人费用不超过某个指定的费用m 1输出 zuishaorenshu 31var i,j longint m,n real begin write m readln m i...

生理2附答案

2014级成教班生理学作业题 一 专业班级姓名王刚学号成绩 一 名词解释。1.阈值刺激引起应激组织反应的最低值。2.内环境胞在体内直接所处的环境即细胞外液,称之为内环境。3.血型血型通常是指红细胞膜上特异性抗原的类型。4.粘液 碳酸氢盐屏障由胃上皮表面粘液细胞分泌的含高浓度hco3 的不可溶性粘液,...

试卷附答案 2

沭如中学高三物理命题比赛试题。一 单项选择题 本大题共5小题,每题小3分,共15分。1从同一地点同时开始沿同一直线运动的两个物体i ii的v t 图象如图所示。在0 t2时间内,下列说法中正确的是 a i物体所受的合外力不断增大,ii物体所受的合外力不断减小。b 在第一次相遇之前,t1时刻两物体相距...