Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2015, 18:37   #1
cosmopolit
Пользователь
 
Аватар для cosmopolit
 
Регистрация: 06.01.2014
Сообщений: 26
По умолчанию задача с асм - Произведение цифр

Задание : найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N.
Выдаёт WrongAnswer #3.

Код:
#include <iostream>

using namespace std;

int main()
{
	long value;
	cin >> value;
	if((value == 1)||(value == 0)) cout << -1;
	for(int i=2; i<=value; ++i)
		if(value % i == 0)
			if(i != value)
			{
				cout << i << value / i;
				break;
			}
			else cout << -1;
	return 0;
}
cosmopolit вне форума Ответить с цитированием
Старый 12.08.2015, 18:46   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Найди простые множители N. Если хотя бы один из них больше 7, то решения не существует. В противном случае составь число из отсортированных по возрастанию однозначных простых множителей. Можно множители не искать, а делить на 2,3,5 и 7 пока делится без остатка и составлять из делителей число. Если не делится без остатка и частное не 1, то нет решения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 12.08.2015 в 18:50.
Аватар вне форума Ответить с цитированием
Старый 12.08.2015, 19:49   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Вот.. Из закромов родины
Код:
#include <fstream>
#include <vector>
 
using namespace std;
int main()
{
    ifstream cin("INPUT.TXT");
    ofstream cout("OUTPUT.TXT");
     
    vector<int> v;
    int n;
    cin >> n;
    if (n == 0) {cout << 10; return 0;}
    for (int i = 9; i > 1; --i)
        for (; n%i == 0; n /= i)
            v.push_back(i);
     
    if (n != 1)
        cout << -1;
    else
        for (int i = v.size()-1; i >= 0; i--)
            cout << v[i];
}
Poma][a вне форума Ответить с цитированием
Старый 12.08.2015, 20:00   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Да, насчет простых загнул Множители от 9 до 2 само в точку
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.08.2015, 18:02   #5
cosmopolit
Пользователь
 
Аватар для cosmopolit
 
Регистрация: 06.01.2014
Сообщений: 26
По умолчанию

Спасибо. У меня тут ещё одна проблема возникла.
Задача : 1792. Код Хэмминга
Сишное решение :
Код:
#include <stdio.h>
main(){
int i,m[8];
for(i=1;i<8;i++) scanf("%d",&m[i]);


   for(i=1;i<9;i++)
       if(((m[2]+m[3]+m[4])%2==m[5])&&((m[1]+m[3]+m[4])%2==m[6])&&((m[1]+m[2]+m[4])%2==m[7]))
             break;
       else {m[i]=(!m[i]);m[i-1]=(!m[i-1]); }

for(i=1;i<8;i++) printf("%d ",m[i]);

       }
Тоже самое решение, только на плюсах:
Код:
#include <iostream>
using namespace std;
int main(){
int i,m[8];
for(i=1;i<8;i++) 
	cin >> m[i];


   for(i=1;i<9;i++)
       if(((m[2]+m[3]+m[4])%2==m[5])&&((m[1]+m[3]+m[4])%2==m[6])&&((m[1]+m[2]+m[4])%2==m[7]))
             break;
       else {m[i]=(!m[i]);m[i-1]=(!m[i-1]); }

for(i=1;i<8;i++) 
	cout << m[i];

return 0;
}
На последнее решение джадж плюётся WrongAnswer#1
cosmopolit вне форума Ответить с цитированием
Старый 13.08.2015, 18:40   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
cout << m[i];
Пробела нет
cout << m[i] << " ";
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Произведение цифр. Водонька Помощь студентам 6 16.10.2011 20:12
Задача про Произведение цифр newStudent Помощь студентам 5 17.02.2011 17:45
Найти произведение цифр данного числа chertovka. Помощь студентам 2 25.06.2010 11:59
(Паскаль)Найти произведение цифр, встречающихся в строке Doublefaced Помощь студентам 24 24.06.2009 18:25