pascal题目 对的给分!!!
(instruckcije.pas/c/cpp)小马克今年成为小学生。不久后她将进行她的第一次考试,其中包括数学考试。她非常认真地复习,她认为自己已经准备好了。她的哥哥通...
(instruckcije.pas/c/cpp)
小马克今年成为小学生。不久后她将进行她的第一次考试,其中包括数学考试。她非常认真地复习,她认为自己已经准备好了。她的哥哥通过给她提出问题并解决的方式帮助她。 他的问题是给定一连串整数:依次由1个1,2个2,3个 3 等组成,即1223334444……。现在他给马克两个整数A和B;他的任务是求出由第A个到第B个数的。如果A是1,B是3,答案为1+2+2=5。 给一个问题,然后计算它们的和,马克的哥哥能够验证答案正确与否。
输入文件instruckcije.in只有一行,包括正整数A和B,1≤A ≤B≤100
输出文件instruckcije.out共一行,为和的值。
【输入输出样例1】
instruckcije.in
1 3
instruckcije.out
5
【输入输出样例2】
instruckcije.in
3 7
instruckcije.out
15
急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急 展开
小马克今年成为小学生。不久后她将进行她的第一次考试,其中包括数学考试。她非常认真地复习,她认为自己已经准备好了。她的哥哥通过给她提出问题并解决的方式帮助她。 他的问题是给定一连串整数:依次由1个1,2个2,3个 3 等组成,即1223334444……。现在他给马克两个整数A和B;他的任务是求出由第A个到第B个数的。如果A是1,B是3,答案为1+2+2=5。 给一个问题,然后计算它们的和,马克的哥哥能够验证答案正确与否。
输入文件instruckcije.in只有一行,包括正整数A和B,1≤A ≤B≤100
输出文件instruckcije.out共一行,为和的值。
【输入输出样例1】
instruckcije.in
1 3
instruckcije.out
5
【输入输出样例2】
instruckcije.in
3 7
instruckcije.out
15
急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急 展开
2个回答
展开全部
遇到此题不可惊慌,说白了太简单。
【算法分析】已提供数列的组合方法,规律是(∑n(1..+∞))n个n,122333444455555666666...因为数据范围1..100所以大可以构造一个1..100的数组存数列的前100项,接下来就简单了,累加第A位到第B位。
【伪代码】
prepare: t=0; x=1//初始化,t为指标来计a[i]=x(项,要存的值)当前的个数;
for i=1 to 100
inc(t);//equal i=i+1
a[i]=x;
if t=x
t=0;
inc(x);
main: for i=a to b
inc(ans,a[i]);//equal ans=ans+a[i]
(请楼主据此自行编写)
∵(1+n)*n/2>=100
∴n不会大于50
故ans用longint就够了
若以上分析有误,请海涵,thank you
【算法分析】已提供数列的组合方法,规律是(∑n(1..+∞))n个n,122333444455555666666...因为数据范围1..100所以大可以构造一个1..100的数组存数列的前100项,接下来就简单了,累加第A位到第B位。
【伪代码】
prepare: t=0; x=1//初始化,t为指标来计a[i]=x(项,要存的值)当前的个数;
for i=1 to 100
inc(t);//equal i=i+1
a[i]=x;
if t=x
t=0;
inc(x);
main: for i=a to b
inc(ans,a[i]);//equal ans=ans+a[i]
(请楼主据此自行编写)
∵(1+n)*n/2>=100
∴n不会大于50
故ans用longint就够了
若以上分析有误,请海涵,thank you
展开全部
var
s,t:string;
n,i,j,k:longint;
begin
s:='';
for i:=1 to 14 do
begin
str(i,t);
for j:=1 to i do s:=s+t;
if length(s)>=100 then break;
end;
readln(j,k);
n:=0;
for i:=j to k do n:=n+ord(s[i])-48;
writeln(n);
readln;
end.
更多追问追答
追问
错了六个点,范围是1≤A ≤B≤1000
追答
1000。。不早说。。这样应该对了
var
s,t:ansistring;
n,i,j,k:longint;
begin
s:='';
for i:=1 to 100 do
begin
str(i,t);
for j:=1 to i do s:=s+t;
if length(s)>=1000 then break;
end;
readln(j,k);
n:=0;
for i:=j to k do n:=n+ord(s[i])-48;
writeln(n);
readln;
end.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询