How to resolve the algorithm Totient function step by step in the PL/I programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Totient function step by step in the PL/I programming language

Table of Contents

Problem Statement

The   totient   function is also known as:

The totient function:

If the totient number   (for N)   is one less than   N,   then   N   is prime.

Create a   totient   function and: Show all output here.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Totient function step by step in the PL/I programming language

Source code in the pl/i programming language

totientFunction: procedure options(main);
    totient: procedure(nn) returns(fixed);
        declare (nn, n, i, tot) fixed;
        n = nn;
        tot = n;
        do i=2 repeat(i+2) while(i*i <= n);
            if mod(n,i) = 0 then do;
                do while(mod(n,i) = 0);
                    n = n / i;
                end;
                tot = tot - tot / i;
            end;
            if i=2 then i=1;
        end;
        if n>1 then tot = tot - tot/n;
        return(tot);
    end totient;

    showPrimeCount: procedure(n, primeCount);
        declare (n, primeCount) fixed;
        put skip edit('There are', primeCount, ' primes up to', n) (A,F(5),A,F(6));
    end showPrimeCount;

    declare (n, primeCount, tot) fixed;
    do n = 1 to 25;
        tot = totient(n);
        put edit('phi(', n, ') = ', tot) (A,F(2),A,F(2));
        if tot = n-1 then do;
            put list('; prime');
            primeCount = primeCount + 1;
        end;
        put skip;
    end;

    call showPrimeCount(25, primeCount);
    do n = 26 to 10000;
        if totient(n) = n-1 then primeCount = primeCount + 1;
        if n=100 | n=1000 | n=10000 then
            call showPrimeCount(n, primeCount);
    end;
end totientFunction;

  

You may also check:How to resolve the algorithm Ethiopian multiplication step by step in the PL/I programming language
You may also check:How to resolve the algorithm History variables step by step in the PL/I programming language
You may also check:How to resolve the algorithm Queue/Usage step by step in the PL/I programming language
You may also check:How to resolve the algorithm Hofstadter Figure-Figure sequences step by step in the PL/I programming language
You may also check:How to resolve the algorithm Loops/Foreach step by step in the PL/I programming language