Задача 4-6 нарциссического число (20 минут)

Относится к числу N-битовых нарциссов положительное целое число (n ³ 3), на котором цифровые биты каждого из N мощность равна себя. Например: 153 = 13 + 5 + 3 3 3. Эта проблема требует программирования, вычисляет количество битов для всех N нарциссов.

Входные форматы:

В данной входной строке целое положительное число N (3≤N≤7).

Выходные форматы:

Все N-битовый выход нарциссы порядке возрастания, каждое число в каждой строке.

Пример ввода:

3

 

Пример вывода:

153
370
371
407

Ответ:

#include<stdio.h>

int f(int N){
    int res=1;
    while(--N){
        res*=10;
    }
    return res+1;
}
int f2(int a,int N){
    int res=1;
    while(N--){
        res*=a;
    }
    return res;
}
int main(){
    int N;
    scanf("%d",&N);
    int m = f(N),temp,a,sum;
    for(int i = m;i<m*10-1;i++){
        temp=i;
        sum=0;
        for(int j=0;j<N;j++){
            a = temp%10;
            sum+=f2(a,N);
            temp/=10;
        }
        if(i==sum) printf("%d\n",i);
    }
    return 0;
}

 

Опубликовано 98 оригинальные статьи · вона похвала 2 · Просмотров 3732

рекомендация

отblog.csdn.net/qq_30377869/article/details/104754439