Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Renard1
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 4
#1

Для заданного k найти все k-значные числа Амстронга - C++

12.02.2016, 15:36. Просмотров 236. Ответов 6
Метки нет (Все метки)

Помогите пожалуйста решать задачу условие таково :

Для заданного k найти все k-значные числа Амстронга.

Формат входных данных

Натуральное число k (2 < k < 10).

Формат выходных данных

k-значные числа Амстронга в порядке возрастания, каждое в отдельной строке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2016, 15:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Для заданного k найти все k-значные числа Амстронга (C++):

Найти все n-значные числа Армстронга для данного n<9 - C++
Натуральное n-значное число называется числом Армстронга, если оно равно сумме n-х степеней своих цифр. Найти все n-значные числа...

Найти все натуральные n-значные числа - C++
здравствуйте! В универе задали самим разобраться с С++ и написать код к задачам. Но с самого начала появились проблемы в общем - ничего не...

Найти все натуральные n-значные числа. - C++
1) Найти сумму всех n-значных чисел, кратных k (1 &lt; п &lt; 4). 2) Найти все натуральные n-значные числа, цифры в которых образуют строго...

Выдать все 3ёх значные числа для S - C++
Дано: S- сумма цифр трёхзначного числа. Выдать все трёхзначные числа для S. Мб кто поможет в решении?

Найти все m-значные числа, делящиеся на n, у которых цифры возрастают - C++
Найти все m-значные числа, делящиеся на n, у которых цифры возрастают.

Найти все n-значные числа, сумма квадратов цифр которых кратна М - C++
Найти все n-значные числа, сумма квадратов цифр которых кратна М.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Renard1
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 4
03.03.2016, 20:44  [ТС] #2
Да в что ни кто не может решать его ?
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,231
Записей в блоге: 3
Завершенные тесты: 1
03.03.2016, 21:59 #3
Цитата Сообщение от Renard1 Посмотреть сообщение
Да в что ни кто не может решать его ?
Все ждем Вашего решения, маэстро
Renard1
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 4
10.03.2016, 21:48  [ТС] #4
я решил уже

Добавлено через 1 минуту
Croessmah, я думал сюда заходят те люди которые могут программировать
Леонид1300
3 / 3 / 1
Регистрация: 03.03.2016
Сообщений: 79
10.03.2016, 22:38 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
int main()
{
    long x,y,s,a1,b1;
    int a,k,i;
    bool f=1;
    cin>>a1>>b1;
    for(x=a1; x<=b1; x++){
      y=x;k=0;
      while(y>0){y=y/10;k++;}
      s=0;y=x;
      for (i=1;i<=k;i++){
        a=y%10;
        long p=1;
        for(int j=1;j<=k;j++)p=p*a;
        s=s+p;
        y=y/10;}
     if (x==s) {f=0; cout<<x<<" ";}
    }
    if (f) cout<<-1;
    cout<<endl;
    system("pause");
    return 0;
}
Это математически если устроит. И если конечно я вас правильно понял - задание.
Renard1
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 4
11.03.2016, 23:17  [ТС] #6
Самый легкий путь

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <math.h>
#include <stdio.h>
 
using namespace std;
 
int main()
{
    long long a[10]={0,1}; int k,i,c,s,p,q,b;
    cin >> k;
 
     if(k==8) cout << "24678050\n24678051\n88593477" << endl;
    else if(k==9) cout << "146511208\n472335975\n534494836\n912985153" << endl;
 
    else{
    for(i=2;i<10;i++)
    {
        a[i]=(long long)(pow(i,k)+0.5);
    }
 
    c=(int)(pow(10,k-1)+0.5); b=(int)(pow(10,k)+0.5);
 
    for(i=c;i<b;i++)
    {
        s=0; p=i;
        while(p!=0)
        {
            q=p%10;
            s+=a[q];
            p/=10;
        }
 
        if(i==s) cout << s << endl;
    }
    }
 
    return 0;
}
Добавлено через 59 секунд
если 8 и 9 поставить то будет дольше 2 секунд
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3801 / 2059 / 526
Регистрация: 18.10.2014
Сообщений: 3,665
11.03.2016, 23:27 #7
Цитата Сообщение от Renard1 Посмотреть сообщение
я думал сюда заходят те люди которые могут программировать
"Люди, которые могут программировать" просто изнывают в ожидании того момента, когда какой-нибудь студент скинет им свое домашнее задание. Аж места себе не находят... Ну когда же, когда же уже хлынет поток сомнительных заданий с подозрительной орфографией и пунктуацией!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2016, 23:27
Привет! Вот еще темы с ответами:

Найти все такие М-значные числа, которые делятся на каждую из цифр в их записи - C++
Найти все такие М-значные числа (М=2,3...), которые делятся на каждую из цифр в их записи. Что-то я не могу понять саму суть задания....

Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую последовательность - C++
Ребят,помогите сделать эту задачу через массивы.Я сделал через строки но мне сказали переделать ее через массивы Задача: Найти все...

Для заданного числа найти все его делители - C++
вот код #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; void main () { int n,i; printf...

Найти все натуральные числа из заданного интервала, для которых справедливо условие - C++
Найти все натуральные числа a, b, c из интервала от 1 до 20, для которых выполняется равенство a^2+b^2=c^2 Программу я начал писать: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.03.2016, 23:27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru