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

Даны целые числа а1, а2, ... , аn - C++

Восстановить пароль Регистрация
 
Polinocka
Сообщений: n/a
24.01.2010, 19:21     Даны целые числа а1, а2, ... , аn #1
Добрый вечер добрые люди.
Мне очень нужна ваша помощь. Большое спасибо. Вот задачи:
1. Найти все натуральные числа, не превосходящие N<1000,и делящиеся на каждую из своих цифр.
2. Даны целые числа а1, а2, ... , аn (среди них могут быть повторяющиеся). Получить все числа, входящие в последовательность по одному разу
3. Даны целые числа а1, а2, ... , аn (среди них могут быть повторяющиеся). Получить числа, взятые по одному из каждой группы равных членов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
24.01.2010, 21:22     Даны целые числа а1, а2, ... , аn #2
1.
Код
int a[3];
for(j=1; j<N; j++) {
 n = j;
for(i=0;i<3;i++) {
  a[i] = nn%10;
  NN /= 10;
}
for(i=0;i<3;i++) {
   if (a[i] != 0 && (j%a[i])) break;
}
if (i==3) printf("%d\n", j);
}
Не проверял. Возможны описки.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
24.01.2010, 22:03     Даны целые числа а1, а2, ... , аn #3
1 - другой вариант. Проверял - работает.
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 <stdio.h>
 
/* возвращает 1, если число делится на каждую из своих цифр */  
int testNum(int num){
    int div;
    if ( !num )
        return 0;
    for ( div = num; div != 0; div /= 10 )
        if ( !( div % 10 ) || ( num % ( div % 10 ) ) )
            return 0;
    return 1;
}
 
/*
    Найти все натуральные числа, не превосходящие N<1000,и делящиеся на каждую из своих цифр.
*/
#define TOP 1000
int main(void){
    int i;
    
    for ( i = 1; i < TOP; ++i )
        if ( testNum(i) )
            printf("%d\n", i);
    return 0;
}
Андрейка
410 / 214 / 24
Регистрация: 25.03.2009
Сообщений: 716
24.01.2010, 22:31     Даны целые числа а1, а2, ... , аn #4
Polinocka,
2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <set>
#include <algorithm>
 
int main()
{
    int arr[] = {1,1,2,2,3,3};
    const size_t N = sizeof(arr) / sizeof(*arr);
 
    std::set <int> _SET(arr, arr+N);
    std::ostream_iterator <int> _ITER(std::cout," ");
 
    std::copy(_SET.begin(), _SET.end(), _ITER);
 
    return 0;
}
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
24.01.2010, 23:05     Даны целые числа а1, а2, ... , аn #5
easybudda, Согласен. У тебя изяшнее и массива не надо
Yandex
Объявления
24.01.2010, 23:05     Даны целые числа а1, а2, ... , аn
Ответ Создать тему
Опции темы

Текущее время: 01:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru