Татьяна
0
Q:

armstrong number in c

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int cube(int a)
{
    int c;
    c =  a*a*a;
    return c;
}

int armnum(int *a)
{
    int x = *a, n = 0, rem, r = 0;
    while (x != 0) {
        x /= 10;
        n++;
    }
    x = *a;
    while (x != 0) {
        rem = x % 10;
        r += cube(rem);
        x /= 10;
    }
    if(r == *a){
        return 1;
    }
}

int main()
{
    int a, y;
    scanf("%d", &a);
    y = armnum(&a);
    if(y == 1){
        printf("It is an Armstrong number.");
    }
    else{
        printf("It is not an Armstrong number.");
    }
}
0
#include <stdio.h>
int main() {
    int num, originalNum, remainder, result = 0;
    printf("Enter a three-digit integer: ");
    scanf("%d", &num);
    originalNum = num;

    while (originalNum != 0) {
       // remainder contains the last digit
        remainder = originalNum % 10;
        
       result += remainder * remainder * remainder;
        
       // removing last digit from the orignal number
       originalNum /= 10;
    }

    if (result == num)
        printf("%d is an Armstrong number.", num);
    else
        printf("%d is not an Armstrong number.", num);

    return 0;
}
0

New to Communities?

Join the community