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

Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми - C++

Восстановить пароль Регистрация
 
Nero48
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 19:54     Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми #1
Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми.


помогите решить это. я смог написать только код,который просто меняет цифры из второго, на числа из первого.
мне надо доделать.
могу выложить мой код(что смог написать)
пишу в visual studio 2010
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2013, 19:54     Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми
Посмотрите здесь:

не могу понять задачку :) Даны натуральные числа p и q. Получить все делители числа q, взаимно простые с p C++
C++ Даны числа m и n. Получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m
Даны числа m и n, получить все натуральные числа,меньшие n, квадрат суммы цифр которых равен m C++
Даны натуральные числа N и M(N > M).Найти сумму М последних цифр числа N. C++
C++ Даны натуральные числа n, m. Получить сумму m последних цифр числа n
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
3u3ik
 Аватар для 3u3ik
1 / 1 / 0
Регистрация: 18.03.2013
Сообщений: 12
18.03.2013, 19:57     Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми #2
Сначала числа M и N записываешь массивом, потом генерируешь возможные перестановки и делаешь проверку на простоту каждой генерации.
Nero48
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 19:59  [ТС]     Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми #3
Цитата Сообщение от 3u3ik Посмотреть сообщение
Сначала числа M и N записываешь массивом, потом генерируешь возможные перестановки и делаешь проверку на простоту каждой генерации.

Числа M и N я сам с клавы ввожу.
3u3ik
 Аватар для 3u3ik
1 / 1 / 0
Регистрация: 18.03.2013
Сообщений: 12
18.03.2013, 20:11     Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми #4
Функция перевода числа в массив:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int *DigitToMass(int M)
{
    int Temp = M , Count = 0;
    while(Temp) {
        Temp /= 10;
        Count++;
    }
 
    int *Mass = new int [Count];
    for(int i=Count-1 ; i>=0 ; i--) {
        Mass[i] = M % 10;
        M /= 10;
    }
 
    return Mass;
}
Nero48
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 20:46  [ТС]     Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми #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
26
#include <iostream>
using  namespace  std;
int change( int n,int i,int x)
{int s=1,ost,j; 
for (j=1; j<=i; j++) s*=10;
ost=n% (s/10); n=n/s*s+x*s/10+ost;
return n;
}
int main ()
{int i,n,x,s,j,ost,n1;
cin >> n;
int m;
cin >> m;
do{
    ost=m%10; m=m/10;
    n1=n;
    int k = 1;
    do{
        n1=n1/10;
        cout<<change(n,k,ost)<<endl;
        k++;
    }
    while (n1!=0);  }
while (m!=0);
 
}
3u3ik
 Аватар для 3u3ik
1 / 1 / 0
Регистрация: 18.03.2013
Сообщений: 12
18.03.2013, 20:52     Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми #6
Цитата Сообщение от Nero48 Посмотреть сообщение
а проверка простоты? это как?
То есть проверка является ли число простым или нет:
C++
1
2
3
4
5
6
bool Simple(int M) {
    for(int i=2 ; i<M-1 ; i++)
        if( !(M % i) )
            return false;
    return true;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2013, 21:59     Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми
Еще ссылки по теме:

C++ Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми
Даны два числа. Если квадратный корень из второго числа меньше первого числа, то увличить второе число в пять раз с++ C++
Определить, являются ли натуральные числа A и B взаимно простыми C++

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

Или воспользуйтесь поиском по форуму:
Nero48
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 11
18.03.2013, 21:59  [ТС]     Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми #7
как то криво у меня выходит.
мб скинешь прилично переделанный мой код. а то я сто пудов че-нить накосячу. заранее спс)
Yandex
Объявления
18.03.2013, 21:59     Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми
Ответ Создать тему
Опции темы

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