Pascal 帕斯卡数的可除性

Pascal 帕斯卡数的可除性,pascal,Pascal,我想写一个pascal程序,检查特定的数字是否可以被2,3,5,7,9和11整除,以及这些数字的和是偶数还是奇数。最后我想写一句话,比如“这个数字可以被5和9整除”,这些数字的和是偶数/奇数。我该怎么办 使用模量: program ModulusTest; begin if 8 mod 2 = 0 then begin write(8); writeln(' is even'); en

我想写一个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.
程序模块测试;
开始
如果8模2=0,则
开始
写(8);
writeln(‘是偶数’);
结束;
如果30模5=0,则
开始
写(30);
writeln('可被5整除');
结束;
如果32模5 0,则
开始
写(32);
writeln('不能被5'整除);
结束;
结束。

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

这是我的代码,我分为两部分:

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
.
.
然后将除法器作为字符串保存到变量divider,并将其写入监视器

write('This number is divisible by '); write(divider);
第二部分 您需要使用DIV(除法)和MOD(模数)操作将数字分隔为单个变量。在我的代码中,我将输入的数字限制为2位(1到99):

(如果要输入更大的数字,请使用if..then..函数更改代码)


然后使用MOD检查数字是否为偶数或奇数:

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

不,我真的不知道怎么开始。如果余数为零,一个数甚至可以被另一个数整除。使用mod操作员检查该情况。使用奇数函数测试数字是否为奇数。若要对构成数字的数字求和,请将数字的模10加到和中,然后在循环中将数字除以10,直到数字为零。您可以使用mod来检查特定的数字GREAT,谢谢!一个问题:8,30,32意味着什么?或者它们只是随机数,这只是一个例子?它们只是完全虚构的数字:)好的。你能告诉我为什么在上一个例子中你用了而不是=吗?如果一个数等于零,那么这意味着第一个数可以被第二个数整除。简单地说就是不相等——因此,如果被5除后的余数不是零,那么它就不能被5除。是的,它是这样做的!:)
if (sum MOD 2 = 0) then write('even') else write('odd');