个性化阅读
专注于IT技术分析

c中的强数

点击下载

当各个数字的阶乘之和等于该数字时,数字可以说是一个强数。

例如,145是一个强数。

让我们通过一个例子来理解。

  • 程序检查数字是否强。
#include <stdio.h>
int main()
{
    int n;
    int sum=0;
    printf("Enter a number");
    scanf("%d", &n);
    int k=n;
    int r;
    while(k!=0)
    {
        r=k%10;
        int f=fact(r);
        k=k/10;
        sum=sum+f;
    }
    if(sum==n)
    {
        printf("\nNumber is a strong");
    }
    else
    {
        printf("\nNumber is not a strong");
    }
    return 0;
}
int fact(int r)
{
    int mul=1;
    for(int i=1;i<=r;i++)
    {
        mul=mul*i;
    }
    return mul;
    
}

在上面的代码中,从用户检索输入数据,然后检查数据是否为强数。

输出量

  • 程序打印从1到n的强数。
#include<stdio.h>
int main()
{
    int fact=1, sum=0;
    int n, r;
    printf("Enter the 'n' number");
    scanf("%d", &n);
    printf("\n Strong numbers are :");
    for(int i=1;i<=n;i++)
    {
        int k=i;
        while(k!=0)
        {
            r=k%10;
            fact=factorial(r);
           
        
            k=k/10;
            sum=sum+fact;
        }
        if(sum==i){
        printf("%d, ", i);
        
           }
           sum=0;
    }
    
   
    return 0;
}

 int factorial(int f)
    {
        int mul=1;
        for(int i=1; i<=f;i++)
        {
            mul=mul*i;
        }
        return mul;
    }

输出量

  • 程序查找给定范围内的强数。
#include<stdio.h>
int main()
{
    int fact=1, sum=0;
    int n1, n2, r;
    printf("Enter the first number");
    scanf("%d", &n1);
    printf("\nEnter the last number");
    scanf("%d", &n2);
    printf("\nStrong numbers are :");
    for(int i=n1;i<=n2;i++)
    {
        int k=i;
        while(k!=0)
        {
            r=k%10;
            fact=factorial(r);
            k=k/10;
            sum=sum+fact;
        }
        if(sum==i){
        printf("%d, ", i);
        }
           sum=0;
    }
   return 0;
}
int factorial(int f)
 {
        int mul=1;
        for(int i=1; i<=f;i++)
        {
            mul=mul*i;
        }
        return mul;
    }

输出:


赞(0)
未经允许不得转载:srcmini » c中的强数

评论 抢沙发

评论前必须登录!