帮我看看这道程序错哪了?

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:44:05
如果自然数A的各位数之和等于7,那么A就称为吉祥数,把所有吉祥数从小到大排列,第2006个数是什么?

program ggg(input,output);
var a,b,c,d,e,f,g,h:integer;
begin
for a:=0 to 7 do
for b:=0 to 7 do
for c:=0 to 7 do
for d:=0 to 7 do
for e:=0 to 7 do
for f:=0 to 7 do
for g:=0 to 7 do
if a+b+c+d+e+f+g=7 then begin
h:=h+1;
if h=2006 then writeln (a,b,c,d,e,f,g);
end;
end.

我这道程序是不是像a这样的数太少?
它能运行,就是没有解。
各位高手帮帮忙。
我用Pascal语言,软件是Turbo Pascal 7.0

1楼不懂就闭嘴,无聊你个头。

言归正传,我觉得楼主已经找出问题了。我的程序如下
var a,b,c,d,e,f,g,h,i:integer;
begin
for a:=0 to 7 do
for b:=0 to 7 do
for c:=0 to 7 do
for d:=0 to 7 do
for e:=0 to 7 do
for f:=0 to 7 do
for g:=0 to 7 do
for i:=0 to 7 do
if a+b+c+d+e+f+g+i=7 then begin
h:=h+1;
if h=2006 then writeln (a,b,c,d,e,f,g,i);
end;
end.
我的答案是10111210。不知对不对

无聊

var a,b,c,d,e,f,g,h:integer;
begin
for a:=0 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
for d:=0 to 9 do
for e:=0 to 9 do
for f:=0 to 9 do
for g:=0 to 9 do
begin if a+b+c+d+e+f+g=7 then h:=h+1;
if h=2006 then writeln (a,b,c,d,e,f,g); break end;
end.
试一下 不知道对不对