Totient function: Difference between revisions

Content added Content deleted
m (→‎{{header|Phix}}: builtin comment)
m (→‎{{header|ALGOL-M}}: formatting cleanup)
Line 751: Line 751:
BEGIN
BEGIN
INTEGER I, COUNT;
INTEGER I, COUNT;
COUNT := 1;
COUNT := 1;
FOR I := 2 STEP 1 UNTIL N DO
FOR I := 2 STEP 1 UNTIL N DO
BEGIN
BEGIN
IF GCD(N,I) = 1 THEN COUNT := COUNT + 1;
IF GCD(N,I) = 1 THEN COUNT := COUNT + 1;
Line 758: Line 758:
PHI := COUNT;
PHI := COUNT;
END;
END;



COMMENT - EXERCISE THE FUNCTION;
COMMENT - EXERCISE THE FUNCTION;
Line 765: Line 764:
FOR N := 1 STEP 1 UNTIL 25 DO
FOR N := 1 STEP 1 UNTIL 25 DO
BEGIN
BEGIN
WRITE(N, (TOTIENT := PHI(N)));
WRITE(N, (TOTIENT := PHI(N)));
WRITEON(IF TOTIENT = (N-1) THEN " YES" ELSE " NO");
WRITEON(IF TOTIENT = (N-1) THEN " YES" ELSE " NO");
END;
END;


Line 777: Line 776:
IF N = 100 THEN
IF N = 100 THEN
WRITE("PRIMES UP TO 100 =", COUNT)
WRITE("PRIMES UP TO 100 =", COUNT)
ELSE IF N = 1000 THEN
ELSE IF N = 1000 THEN
WRITE("PRIMES UP TO 1000 =", COUNT);
WRITE("PRIMES UP TO 1000 =", COUNT);
END;
END;