易码技术论坛

 找回密码
 加入易码
搜索
查看: 200204|回复: 8

本版第一个问题哦!

[复制链接]
发表于 2004-8-30 22:59:00 | 显示全部楼层
我找一下TP先....

按說是调试不过去的,因为for循环中不能对所用的循环n赋值

恩TP可以编译通过,不过TP连出来滴DOS程序在2003下面果然跑不起来,

明天晚上装虚拟机看

[此贴子已经被作者于2004-8-30 23:11:32编辑过]

 楼主| 发表于 2004-8-31 08:29:00 | 显示全部楼层
我菜啊,虚拟机为何物?
 楼主| 发表于 2004-8-31 08:51:00 | 显示全部楼层
错了,错了,我把mod搞成div了
{$N+}
program test;
var
n:longint;
begin
for n:=16405 to 2147483647 do
  if (n-1) mod 5=0
  then begin
         n:=n-trunc((n-1)/5)-1;
         if (n-1) mod 5=0
         then
             begin
             n:=n-trunc((n-1)/5)-1;
             if (n-1) mod 5=0
             then
                 begin
                 n:=n-trunc((n-1)/5)-1;
                 if (n-1) mod 5=0
                 then
                     begin
                     n:=n-trunc((n-1)/5)-1;
                     if (n-1) mod 5=0
                     then
                         begin
                         n:=n-trunc((n-1)/5)-1;
                         if n mod 5 =0
                         then write(n:10);
                         end
                     end
                 end
             end
         end
  end.
发表于 2004-8-31 12:59:00 | 显示全部楼层
這個是求什么东西滴?
派?
发表于 2004-9-4 21:52:00 | 显示全部楼层
楼主这个程序干什么的?
应该是
...
   END;
  END;
END.

6797_905_2716.jpg
6797_905_2717.jpg
发表于 2004-9-5 17:42:00 | 显示全部楼层
嗯pascal的then后面的begin end建议的语法是只在后面没有else时候使用"end;"
楼主的程序换为TP的控制台,编译出来就runtime error大概真的和2003犯冲
发表于 2004-9-6 17:28:00 | 显示全部楼层
这样的代码在DLEPHI中编译是绝对出错的,因为N是不可重新改变的,您可以在设置个变量k:
第一个循环中:k:=n-trunc((n-1)/5)-1;
之后就:          k:=k-trunc((k-1)/5)-1;
这样试一下~~~
发表于 2005-7-14 15:40:00 | 显示全部楼层
那个程序是干吗的??
 楼主| 发表于 2004-8-30 20:04:55 | 显示全部楼层 |阅读模式
下面的程序有没有更好的写法啊?谢谢了

怎么运行到好像没有答案的?

{$N+}
program test;
var
n:longint;
begin
for n:=16405 to 2147483647 do
  if (n-1) div 5=0
  then begin
         n:=n-trunc((n-1)/5)-1;
         if (n-1) div 5=0
         then
             begin
             n:=n-trunc((n-1)/5)-1;
             if (n-1) div 5=0
             then
                 begin
                 n:=n-trunc((n-1)/5)-1;
                 if (n-1) div 5=0
                 then
                     begin
                     n:=n-trunc((n-1)/5)-1;
                     if (n-1) div 5=0
                     then
                         begin
                         n:=n-trunc((n-1)/5)-1;
                         if n div 5 =0
                         then write(n:10);
                         end
                     end
                 end
             end
         end
  end.




您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-3-29 03:21 , Processed in 0.012352 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表