数字在帕斯卡中的可除性

  • 本文关键字:帕斯卡 数字 pascal
  • 更新时间 :
  • 英文 :


我想编写一个帕斯卡程序,用于检查特定数字是否可以被 2、3、5、7、9 和 11 整除,以及数字的总和是偶数还是奇数。最后我想写一个像"这个数字可以被 5 和 9 整除"这样的语句,并且数字的总和是偶数/奇数。我该怎么办?

使用模数:

program ModulusTest;
begin
        if 8 mod 2 = 0 then
        begin
                write(8);
                writeln(' is even');
        end;
        if 30 mod 5 = 0 then
        begin
                write(30);
                writeln(' is divisible by 5');
        end;
        if 32 mod 5 <> 0 then
        begin
                write(32);
                writeln(' is not divisible by 5');
        end;
end.

模数是整数除法后剩余的:)

这是我

的代码,我分为两个部分:

program checkNumber;
var number : integer;
    divider : string;
    digit1, digit2, sum : integer;
begin
//First//
write('Number : '); readln(number);
if (number MOD 2 = 0) then divider := divider+'2, ';
if (number MOD 3 = 0) then divider := divider+'3, ';
if (number MOD 5 = 0) then divider := divider+'5, ';
if (number MOD 7 = 0) then divider := divider+'7, ';
if (number MOD 9 = 0) then divider := divider+'9, ';
if (number MOD 11 = 0) then divider := divider+'11, ';
write('This number is divisible by '); write(divider);
////////////////////////////////////////////////////////
//Second//
digit1 := number DIV 10;
digit2 := number MOD 10;
sum := digit1 + digit2;
write('and the sum of the numbers is ');
if (sum MOD 2 = 0) then write('even') else write('odd');
////////////////////////////////////////////////////////
end.

第一部分

您需要 MOD(模数)操作来获取分频器值列表:

write('Number : '); readln(number);
if (number MOD 2 = 0) then divider := divider+'2, ';
if (number MOD 3 = 0) then divider := divider+'3, '; //divider 2 3 5 7 9 11
.
.
然后将分隔符

作为字符串保存到可变分隔符中,并将其写入监视器。

write('This number is divisible by '); write(divider);

第二部分

您需要使用 DIV(除法) 和 MOD(模数)操作将数字分成单个变量。在我的代码中,我将数字输入限制为 2 位(1 到 99):

digit1 := number DIV 10;
digit2 := number MOD 10;
sum := digit1 + digit2;

(您更改代码使用如果..然后。。函数,如果你想输入更大的数字)。


然后使用 MOD 检查数字是偶数还是奇数:

if (sum MOD 2 = 0) then write('even') else write('odd');

最新更新