1 / 1 / 0
Регистрация: 03.04.2014
Сообщений: 21
1

Вывести на печать 3-х значные числа, которые делятся на свои цифры и перевертыш этого числа тоже делится на свои цифры

21.04.2014, 16:09. Показов 3374. Ответов 14
Метки нет (Все метки)

здравствуйте. мне попалась одна задачка с перевертышем, раньше с таким не сталкивался и появились затруднения.



Вывести на печать 3-х значные числа, которые делятся на свои цифры и перевертыш этого числа тоже делится на свои цифры.

заранее спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2014, 16:09
Ответы с готовыми решениями:

Вывести на печать 3-х значные числа, которые делятся на свои цифры и перевертыш этого числа тоже делится на свои цифры
Вывести на печать 3-х значные числа, которые делятся на свои цифры и перевертыш этого числа тоже...

Определить все трехзначные числа, которые как само число, так и его перевертыш делятся на свои цифры
Определить все трехзначные числа, которые обладают следующим свойством : как само число, так и его...

Вывести числа в заданном интервале, которые делятся хотя бы на две свои цифры
Найти и вывести на экран все натуральные числа в интервале от N до М (N и М больше 100) , которые...

Найти трехзначные числа, которые делятся на свои цифры
Вывести на печать 3-х значные числа, которые делятся на свои цифры и перевертыш этого числа тоже...

14
99 / 81 / 93
Регистрация: 03.12.2013
Сообщений: 217
21.04.2014, 17:20 2
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int n,n1,i,j,arr[3],sum;
    
    scanf("%d",&n);
 
    j = n;
 
    for(i=0;i<3;i++)
    {
        arr[i] = j % 10;
        j = j / 10;
    }
 
    sum = arr[0]+arr[1]+arr[2];
 
    n1 = arr[0]*100 + arr[1]*10 + arr[2];
 
    if (n % sum == 0)
    {
        if(n1 % sum == 0)
            printf("Ymova vukonyetsja\n");
        else
            printf("Ymova ne vukon\n");
    }
    else 
        printf("Ymova ne vukon\n");
}
0
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
21.04.2014, 18:10 3
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
#include <stdio.h>
 
int main()
{
    int i,a,b,c,d;
    
    for(i=100;i<1000;++i)
{
   a=i/100;
   b=(i%100)/10;
   c=i%10;
   d=c*100+b*10+a;
 
 
   
 
    
 
    if ((i%a==0) && (i%b==0) && (i%c==0) && (d%a==0) && (d%b==0) && (d%c==0))
            printf("CHISLO DELITSA\n");
        else
            printf("Ymova ne vukon\n");
}
}
0
1 / 1 / 0
Регистрация: 03.04.2014
Сообщений: 21
21.04.2014, 18:18  [ТС] 4
как я понял тут не хватает еще блока?!
0
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
21.04.2014, 18:18 5
misterkotopes, какого блока?
0
1 / 1 / 0
Регистрация: 03.04.2014
Сообщений: 21
21.04.2014, 18:33  [ТС] 6
при запуске программы выдает это: "прекращена работа программы"- это чаще всего бывает когда чего либо не хватает, а в вашем варианте мы не чего не вводим т.к. нету scanf, но зато выводим два значения на экран, поисните пожалуйста, что я не допонял??
0
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
21.04.2014, 18:34 7
misterkotopes, я думал вам надо вывести ВСЕ трехзначные числа
тогда так
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
#include <stdio.h>
 
int main()
{
    int i,a,b,c,d;
    
    scanf("%i",&i);
{
   a=i/100;
   b=(i%100)/10;
   c=i%10;
   d=c*100+b*10+a;
 
 
   
 
    
 
    if ((i%a==0) && (i%b==0) && (i%c==0) && (d%a==0) && (d%b==0) && (d%c==0))
            printf("CHISLO DELITSA\n");
        else
            printf("Ymova ne vukon\n");
}
}
0
54 / 54 / 47
Регистрация: 16.03.2014
Сообщений: 110
Записей в блоге: 2
21.04.2014, 18:41 8
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
#include <stdio.h>
#include <stdlib.h>
 
 
void gen_num() {
    for(unsigned int i = 1, j, l, ii, jj, ll, cur1, cur2; i < 10; ++i) {
        ii = i * 100;
        for(j = 1; j < 10; ++j) {
            jj = j * 10;
            for(l = 1; l < 10; ++l) {
                ll = l * 100;
                cur1 = ii + jj + l;
                cur2 = ll + jj + i;
                if(!(cur1 % i) && !(cur1 % j) && !(cur1 % l) && !(cur2 % i) && !(cur2 % j) && !(cur2 % l)) {
                    fprintf(stdout, "Число - %d; перевертыш - %d\n", cur1, cur2);
                }
            }
        }
    }
}
 
int main(int argc, char *argv[]) {
    gen_num();
    
    return EXIT_SUCCESS;
}
0
1 / 1 / 0
Регистрация: 03.04.2014
Сообщений: 21
21.04.2014, 18:42  [ТС] 9
да, она запустилась, но после появления черного экрана, она сразу вылетала, я поставил system("PAUSE");, но после этого он начал опять вылетать, что то тут не так
0
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
21.04.2014, 18:49 10
misterkotopes,
у меня все нормально запустилось только что
и все работает
вот немного доработанный код
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
#include <stdio.h>
 
int main()
{
    int i, a, b, c, d;
 
    scanf("%i", &i);
    {
        a = i / 100;
        b = (i % 100) / 10;
        c = i % 10;
        d = c * 100 + b * 10 + a;
 
        if (a == 0 || b == 0 || c == 0)
        {
            printf("V CHISLE EST 0");
            return 0;
        }
 
 
 
 
        if ((i%a == 0) && (i%b == 0) && (i%c == 0) && (d%a == 0) && (d%b == 0) && (d%c == 0))
            printf("CHISLO DELITSA\n");
        else
            printf("CHISLO NE DELITSA\n");
    }
}
0
1 / 1 / 0
Регистрация: 03.04.2014
Сообщений: 21
21.04.2014, 18:55  [ТС] 11
спасибо всем))
0
99 / 81 / 93
Регистрация: 03.12.2013
Сообщений: 217
21.04.2014, 20:34 12
Вот мой вариант,вроде робочий)
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int n,n1,i,j,arr[3],sum;
    
    for(n = 100;n <= 999; n++)
    {
        j = n;
     
        for(i=0;i<3;i++)
        {
            arr[i] = j % 10;
            j = j / 10;
        }
     
        sum = arr[0]+arr[1]+arr[2];
     
        n1 = arr[0]*100 + arr[1]*10 + arr[2];
     
        if (n % sum == 0)
            if(n1 % sum == 0)
                printf("%d\n",n);
    }
}
0
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
21.04.2014, 20:36 13
Sacred6661, во первых числа все таки вводятся с клавы
а во вторых с чего вы взяли что если число делится на свои числа то оно делится на их сумму?)
124 делится на пример на 1 2 4 но на 7( сумму их ) не делится
0
99 / 81 / 93
Регистрация: 03.12.2013
Сообщений: 217
21.04.2014, 22:09 14
kiff20072008, простите,невнимательно читал условие и почему-то начитал себе что надо сумму цыфр а не сами цыфры)
Вот по идее исправленый варриант)
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
39
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int n,n1,i,j,arr[3];
 
        printf("Vvedite chislo dl9 proverki:\n");
        scanf("%d",&n);
        j = n;
     
        for(i=0;i<3;i++)
        {
            arr[i] = j % 10;
            j = j / 10;
        }
     
        n1 = arr[0]*100 + arr[1]*10 + arr[2];
 
        if (arr[0]==0 || arr[1] == 0 || arr[2]==0)
        {
            printf("%d ne podhodit k ysloviy\n",n);
            return 0;
        }
 
     
        if (n % arr[0] == 0 && n % arr[1] == 0 && n % arr[2] == 0)
        {
            if(n1 % arr[0] == 0 && n1 % arr[1] == 0 && n1 % arr[2] == 0)
                printf("%d podhodit k ysloviy\n",n);
            else
                 printf("%d ne podhodit k ysloviy\n",n);
        }
        else
            printf("%d ne podhodit k ysloviy\n",n);
 
    return 0;
    
}
0
61 / 61 / 24
Регистрация: 28.09.2012
Сообщений: 378
21.04.2014, 22:12 15
Sacred6661, ну да теперь у нас все ок= )
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2014, 22:12

Получить все числа, не превышающие заданного числа n, которые делятся без остатка на все свои цифры
получить все числа не превышающие заданного числа n, которые делятся без остатка на все свои цифры.

Найти все числа, не превосходящие заданного N (10<N<10000), которые делятся на все свои цифры.
как решить следующую задачу? Задача Д1. Найти все числа, не превосходящие заданного N...

Функция, выводящая все числа не превышающие N, которые делятся без остатка на все свои цифры
Реализовать функцию, которая выводит все числа не превышающие заданного числа N, которые делятся...

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

Вывести в цикле те цифры числа, которые не делятся на 3 без остатка.
Вывести только те цифры числа, которые не делятся на 3 без остатка.

Вывести те числа, которые делятся без остатка на цифры, из которых состоят
Здравствуйте) Вот суть задания: Есть целые числа от 10 до 999, нужно вывести те числа, которые...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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