在Pascal中评分较高 紧急编程问题

发布于 教育 2024-07-29
15个回答
  1. 匿名用户2024-01-31

    有两种方法可以做到这一点:

    第一种类型:程序考试17;

    var a,b:integer;

    beginwrite('a,b=');

    readln(a,b);

    a:=a+b;

    b:=a-b;

    a:=a-b;

    end.第二个(在按位运算中使用异或运算);

    program exam17;

    var a,b:integer;

    beginwrite('a,b=');

    readln(a,b);

    a:=a xor b;

    b:=a xor b;

    a:=a xor b;

    运算通常用于否定二进制的特定位,因为 XOR 可以定义如下:0 和 1 保持不变或 0,XOR 1 被否定。

    也就是说,对于二进制数的每个位:

    1 xor 1=0

    1 xor 0=1

    0 xor 1=1

    0 xor 0=0

  2. 匿名用户2024-01-30

    它可以在没有中间变量帮助的情况下进行交换,但输入的数量不要太大,而且这种技术不会导致生产力的提高,所以希望你在学习计算机时不要误入歧途。

    以下是你要找的东西::

    program exam17;

    var a,b: integer;

    beginwrite('a,b=');

    readln(a,b);

    a:=a+b;

    b:=a-b;

    a:=a-b;

    writeln('a=',a,',b=',b);

    end.上面的程序是在 delphi 下运行的,运行示例如下:

    D:临时文件 DCC32

    borland delphi versioncopyright (c) 1983,2002 borland software corporation

    13 lines, seconds, 11148 bytes code, 1805 bytes data.

    d:临时文件

    a,b=2 3

    a=3,b=2

    d:临时文件

  3. 匿名用户2024-01-29

    a:=a-b;(a=a-b b=b)

    b:=a+b;(a=a-b b=a)

    a:=b-a;(a=b b=a)

    括号左边是变量 a 和 b 的中间位置,右边是变量的值。

  4. 匿名用户2024-01-28

    大家都没事,遇到问题就什么都不在乎,一下子全部复制,复制到最后有意思吗???

  5. 匿名用户2024-01-27

    1.看大象的收藏,其实不是,而是有点像素数的筛分法。 首先构建结构:

    tman = record

    rel: byte;

    ref: byte;

    end;2.表示成员的人际关系,初始时间为man[i]。rel = i;它是引用计数,最后使用。

    从 1 开始,遍历与关系中与 1 有关系的所有成员,然后将该成员设置为 1。 例如,在 2 之后遍历 man[2]rel 不再是 2,而是变成 1,然后 rel 将被感染。

    如果是这样,那么 2 将继续将基因从 1 传递到 4,从而形成人类[4]。rel=man[2].rel=man[1].

    rel=1;一直持续到 n 的末尾。

    3. 程序如下:

    program project1;

    typetman = record

    rel: byte;

    ref: byte;

    end;var

    man: array[1..100] of tman;

    rel: array[1..200, 0..1] of byte;

    n, k, i, j: integer;

    beginreadln(n, k);

    for i := 1 to k do

    readln(rel[i, 0], rel[i, 1]);

    for i := 1 to n do

    beginman[i].rel := i;

    man[i].ref := 0;

    end;for i := 1 to n dofor j := 1 to k do

    beginif rel[j, 0] = i thenman[rel[j, 1]].rel := man[i].

    relelse if rel[j, 1] = i thenman[rel[j, 0]].rel := man[i].

    rel;end;for i := 1 to n doinc(man[man[i].rel].ref);

    j := 0;

    k := 0;

    for i := 1 to n do

    beginif man[i].ref > 0 theninc(j);

    if man[i].ref > k thenk := man[i].ref;

    end;writeln('---', ##10, j, ' ', k);

    readln;

    end.

  6. 匿名用户2024-01-26

    我会给你程序的想法,但你自己编造程序。 不,你不能。

    根据初等数论,很明显,我们可以用余数除法来解决这个问题。

    首先,您将资金转换为基础。 例如,(672)10=(1650)7

    然后先要求单边给,这是纯加法运算,非常简单,只需要找到以 7 为基数系统下的数字之和即可。 1+6+5=12。

    下一步是找钱。 这个想法的核心就在这里。 你怎么找钱?

    让我们单独看一下十进制数字上的数字。 可以得到4是中间数,这个数字无论是纯加法还是找钱所需的张数都是一样的。 也就是说,我可以给4张牌,或者我可以给你一张比现在的面值大的牌,然后你可以找到3张牌。

    为了便于理解,我举个例子:钱数是 11,底数是 7 是 14。 别看7块给,只从剩下的4块分析,我可以给4块1块,或者我可以给1块7块,你找3块和快,钱的数是4块。

    综上所述,我们可以推断出,当数字 4 为个位数时,我们可以使用纯加法(因为我们都使用相同的简单方法),而当使用数字 4 时,我们可以用来找钱。

    继续开头的示例。 1650、6>4、5>4的七垒制,所以应该找钱。 如何找到它?

    6进一处,所以要给7 3也就是343元,而不是6块49元,5进一处,所以你也应该给49块,而不是5块7元。

    请参阅下面的**。

    捐钱 2 1

    找钱 1 2

    我们发现,给出 49 并找到 49 抵消了它; 给出一个 7 以找到 2 个 7 的偏移量。

    因此,我们可以将每个比特中给钱和找钱之间的差值相加,2+2=3 张牌。

    让我们来验证一下。 672=343*2-7*2。没错。

    那么,让我也谈谈如何以编程方式实现这个概念? 我不会谈论纯粹的加法,但分离数就可以了。 我建议你定义一个数组来做,就像上面的**一样,两个数组存钱找钱,然后找差,如果有负号就去掉它,然后求和。

    当然,不要忘记在最后进行比较。

    你可以问我任何问题。 我希望会有额外的积分,谢谢。

  7. 匿名用户2024-01-25

    直到晚上 9 点现在你想要它吗?

  8. 匿名用户2024-01-24

    问题 1 dp

    问题 2:USACO 月度竞赛。

    第三个问题是贪婪。

  9. 匿名用户2024-01-23

    您好,这个问题是这样想的:

    完美数是这个数字除自身之外的除数之和,例如,6 的除数有 ,1+2+3=6,所以 6 是一个完美数。

    在这个问题中,我们首先枚举从1到10000的所有数字,逐个找到数字的所有除数,将它们相加,最后看看约束的总和是否等于这个数字。

    程序如下:程序lxc;

    vari,j,k:integer;

    开始主程序。

    对于 i:=1 到 10000,请枚举 1 到 10000 的 i

    开始一一处理 10,000 个数字。

    k:=0;k 是除数之和,初始化为 0。

    对于 j:=1 到 i div2 do 由于一个数的除数必须小于这个数字,并且它必须小于或等于这个数字的一半,现在有必要枚举从 1 到 i div 2 的所有小于 i 的数字。

    如果 i mod j = 0,则 i mod j=0,这意味着 j 可以被 i 整除,表明这个 j 是 i 的除数。

    k:=k+j;因此,将 k 添加到这个除数中。

    if k=i then writeln(i);最后,在找到所有除数并将它们的所有值相加到 k 后,当 k 和 i 相等时,i 是一个完美数,则输出 i

    end;枚举完成。

    end.收工。

    运行结果:628

    谢谢你,祝你好运!

  10. 匿名用户2024-01-22

    一个完整的数字是一个数字,其中数字的因子之和等于它自己的数字。

    var i,j,s:integer;

    beginfor i:=1 to 10000 do

    begins:=0;

    for j:=1 to i div 2 doif i mod j =0 then s:=s+j;

    if s=i then writeln(i);

    end;end.

  11. 匿名用户2024-01-21

    vari,s,j:longint;定义开始

    对于 i:=3 到 10000,每个数字执行 3 到 10000。

    beginfor j:=2 to i div 2 do if i mod j=0 then if it is the factor s:=s+j; 总结。

    如果 s=i,则最终确定如果因子之和等于自身,则输出 writeln(i);

    s:=0;计数重置为 0

    end;end.

  12. 匿名用户2024-01-20

    我们可以看一下随机函数的定义:

    random(n):表示随机整数的生成在[0,n]之间,可以直接用random语句表示[0,1]个数的随机生成。

    我们知道 [means include,) 表示不包括在内,所以随机语句只会产生一个从 0 到 1 的数字,而不是 1。

    readln 语句指示在遇到第一个换行符之前读取数据。

    我们知道,在FP中,程序一旦完成运行就会退出DOS屏幕,您可以按Alt + F5查看DOS屏幕的内容。

    像上面一样,在程序的末尾添加一个 readln,相当于让程序读取一行数据(没有实际用处),然后等待用户输入一行数据后再结束运行,这可以起到暂停程序的作用。

    writeln 语句是输出一行数据,输出完数据后,程序就结束了,当然程序结束后也会返回页面。

  13. 匿名用户2024-01-19

    它不应该是随机的 1。

    第二个我知道。

    writeln 是一个换行语句,只表示输出结果后会开始换行,如果是 readln,则表示会读取数据,因此可以直接读取。

  14. 匿名用户2024-01-18

    随机生成的数字 (0-899) 与 100 相加,保证它必须是三位数。

    2.至于第二个,在您输入回车号后,屏幕将继续刷新,否则它将停留在打印页面上。 直到您呼叫回车。

    是直接输出。 当然不是。 虽然这两个都是换行符。

  15. 匿名用户2024-01-17

    1 简单的判断。

    varscore:longint;

    beginreadln(score);如果 score>85 则 writeln('very good');判断是否高于85分。

    elsebegin

    if score<60 then writeln('bad'判断60分是否是地狱。

    else writeln('good');

    end;end.

    2 从问题可以看出,当月有生育能力的兔子数量等于上个月的兔子总数,那么当月的兔子总数就是上个月的兔子数量(原件)+上个月的兔子数量(新生儿)。

    vara,b,c,i:longint;

    begina:=1;上个月。

    b:=2;上个月。

    for i:=3 to 12 do

    beginc:=a+b;查找当月的兔子数量。

    a:=b;上个月变成了上个月。

    b:=c;这个月变成了一个山月。

    end;1 月和 2 月是已知的,当前月份是 12 月经过十个周期(c); 输出当月的兔子数量

相关回答
13个回答2024-07-29

定义变量 i=0

一键,设置:i++ >>>More

2个回答2024-07-29

以下问题经常被我问到,总结并与读者分享。 >>>More

7个回答2024-07-29

1.你不认为你在打字。

2.“a>b>c”不应该用帕斯卡写,它应该写成(a>b)和(a>c)。 >>>More

18个回答2024-07-29

不知道你的意思,随机显示多少条数据记录? >>>More

17个回答2024-07-29

1、office password remover

目前尚不清楚它是如何工作的,因为它是一个可以破译 MS Word 和 Excel 文档文件的即时工具,但您需要连接到 Internet 才能使用此软件,因为需要发送到软件服务器并解密的数据很少。 但是,您可以放心,该软件不会泄露任何个人隐私。 该软件仅删除密码,不会显示您的原始密码。 >>>More