tyvj中,p1010 错误在哪?
答案:2 悬赏:70 手机版
解决时间 2021-11-13 02:47
- 提问者网友:我们很暧昧
- 2021-11-12 03:54
tyvj中,p1010 错误在哪?
最佳答案
- 五星知识达人网友:摆渡翁
- 2021-11-12 04:01
是子程序的问题,LZ完全调用了子程序,但没有给f数组清零,所以f里的值是不确定的,而且大多数情况下是很大的,在子程序开始时fillchar(f,sizeof(f),0);
其实我觉得这种不太复杂的题目根本用不着子程序,用的话记得清零,要不容易出错...
目前是这个问题,其他地方还有一个问题,害我通过率又降低了...writeln('Lucky World');
(⊙o⊙)…是'Lucky Word'啊...要认真了...
完整代码:
var
s:string;
maxn,minn:longint;
procedure doit;
var
i,l,j,c,k:longint;
f:array['a'..'z'] of longint;
bo:boolean;
m:char;
begin
fillchar(f,sizeof(f),0);
readln(s);
l:=length(s);
for i:=1 to l do inc(f[s[i]]);
maxn:=0; minn:=100;
for m:='a' to 'z' do
begin
if f[m]>maxn then maxn:=f[m];
if (f[m]0) then minn:=f[m];
end;
c:=maxn-minn;
if c<2 then
begin
writeln('No Answer');
writeln(0);
halt;
end
else begin
bo:=true;
for i:=2 to trunc(sqrt(c)) do
if c mod i=0 then
begin
bo:=false;
break;
end;
end;
if bo then
begin
writeln('Lucky Word');
writeln(c);
end
else begin
writeln('No Answer');
writeln(0);
end;
end;
begin
doit;
end.
其实我觉得这种不太复杂的题目根本用不着子程序,用的话记得清零,要不容易出错...
目前是这个问题,其他地方还有一个问题,害我通过率又降低了...writeln('Lucky World');
(⊙o⊙)…是'Lucky Word'啊...要认真了...
完整代码:
var
s:string;
maxn,minn:longint;
procedure doit;
var
i,l,j,c,k:longint;
f:array['a'..'z'] of longint;
bo:boolean;
m:char;
begin
fillchar(f,sizeof(f),0);
readln(s);
l:=length(s);
for i:=1 to l do inc(f[s[i]]);
maxn:=0; minn:=100;
for m:='a' to 'z' do
begin
if f[m]>maxn then maxn:=f[m];
if (f[m]
end;
c:=maxn-minn;
if c<2 then
begin
writeln('No Answer');
writeln(0);
halt;
end
else begin
bo:=true;
for i:=2 to trunc(sqrt(c)) do
if c mod i=0 then
begin
bo:=false;
break;
end;
end;
if bo then
begin
writeln('Lucky Word');
writeln(c);
end
else begin
writeln('No Answer');
writeln(0);
end;
end;
begin
doit;
end.
全部回答
- 1楼网友:行雁书
- 2021-11-12 05:41
请把题目发一下
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯