forum.rastrnet.ru  

Вернуться   forum.rastrnet.ru > Компьютеры и всё, что с ними связано > Программируем

 Сообщения за день       Добавить альбом       Поиск      Правила форума  


Ответ
 
Опции темы Опции просмотра
Старый 14.04.2005, 00:08   #11
Paul
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от CaypoH
хе. а я так и не сделал. точнее сделал, но считалось не верно )) потом забил просто.
Подробней, please. У тебя (или у Вас, как вам больше нравиться) может проблемы с выделением цифры? Ну, разомнусь пожалуй:

Выделить N-ую цифру из X

(X%pow(10, N) - X%pow(10, N-1))/pow(10, N-1)

Например, 3 цифру из 1658
(1658%1000 - 1658%100)/100
(658-58)/100
6

Это первое (!второе, поправил), что пришло в голову. Можете оптимизировать через asm{}. Удачи.

P.S. 2TiRex: Вы решили задачу про коней, или нет. Нельзя ли ответ?!

Последний раз редактировалось Paul; 14.04.2005 в 02:45.
  Ответить с цитированием
Старый 14.04.2005, 14:29   #12
TiRex
Red Machine!
 
Аватар для TiRex
 
Регистрация: 18.07.2004
Сообщений: 1,401
По умолчанию

Решил, но она находится в универе, надо забрать, но у меня флопик сгорел, а флэшки не имею, друзей просить надо. Впринципе решил её не я я её только дорабатывал, нашёл решение в методичке по программированию.
__________________
1: Андрей, я тебя ненавижу!
2: Хм, надо же. А кого ненавижу я? А давай угадывать?
TiRex вне форума   Ответить с цитированием
Старый 16.04.2005, 15:38   #13
CaypoH
Гость
 
Сообщений: n/a
По умолчанию

#include <stdio.h>
#include <conio.h>
void main ()
{int i1, i2, i3, i4, kol=0;
printf ("Введите первую цифру числа: ");
scanf ("%d",&i1);
printf ("Введите вторую цифру числа: ");
scanf ("%d",&i2);
printf ("Введите третью цифру числа: ");
scanf ("%d",&i3);
printf ("Введите четвёртую цифру числа: ");
scanf ("%d",i4);
for (i1=1;i1<=9;i1++)
for (i2=0;i2<=9;i2++)
for (i3=0;i3<=9;i3++)
for (i4=0;i4<=9;i4++)
if (i1+i2==i3+i4)
kol++;
printf ("Количество результатов: %d",kol);
}
  Ответить с цитированием
Старый 16.04.2005, 15:40   #14
CaypoH
Гость
 
Сообщений: n/a
По умолчанию

понимаю что глупо было так писать, но другому что-то не хотелось...
выделение цифр через %10 (100, 1000 и т.д.) это мне уж как-то банально показалось. решил вот так сделать
  Ответить с цитированием
Старый 17.04.2005, 00:33   #15
Paul
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от CaypoH
понимаю что глупо было так писать
Ничего не глупо, просто я всё люблю обобщать (это вредно!). И вообще, оффтопим...
  Ответить с цитированием
Старый 17.04.2005, 03:17   #16
COBEHOK
Новичок
 
Регистрация: 17.08.2004
Сообщений: 780
По умолчанию

А в чем смысл этого?
Цитата:
Сообщение от CaypoH
printf ("Введите первую цифру числа: ");
scanf ("%d",&i1);
printf ("Введите вторую цифру числа: ");
scanf ("%d",&i2);
printf ("Введите третью цифру числа: ");
scanf ("%d",&i3);
printf ("Введите четвёртую цифру числа: ");
scanf ("%d",i4);
Вот более "шустрое" решение
Код:
int nCount = 0;
for(int i = 0; i <= 18; i++)
{
  int nSumCount = (i < 10) ? i + 1 : 19 - i;
  nCount += nSumCount * nSumCount;
}
printf("Количество результатов: %d\n", nCount);
Максимальная сумма цифр двухзначного числа - 18. Поэтому перебираем все возможные суммы и ищем количество слагаемых (при условии, что их два) в каждой сумме.
сумма = 1: 1+0, 0+1
сумма = 3: 0+3, 1+2, 2+1, 3+0
сумма = 17: 9+8, 8+9
Количество 4-х знаных чисел для каждой суммы = кол-во комбинаций с повторениями = кол-во слагаемых в квадрате.

Предлагаю усложнить задачу: Найти кол-во 6-и значных чисел, в которых сумма первых двух цифр равна сумме последних двух и сумме средних двух
COBEHOK вне форума   Ответить с цитированием
Старый 17.04.2005, 13:05   #17
CaypoH
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Предлагаю усложнить задачу: Найти кол-во 6-и значных чисел, в которых сумма первых двух цифр равна сумме последних двух и сумме средних двух
принято
  Ответить с цитированием
Старый 17.04.2005, 13:12   #18
Paul
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от COBEHOK
Предлагаю усложнить задачу: Найти кол-во 6-и значных чисел, в которых сумма первых двух цифр равна сумме последних двух и сумме средних двух
Ответ: 10013

Решение:
Код:
#include <stdio.h>
#include <math.h>

int Cifr(int chislo, int N){
	return (chislo%int(pow(10, N)) - chislo%int(pow(10, N-1)))/int(pow(10, N-1));
}


int main(){

	long int Count = 0;

	for(long int i=0; i<1000000; i++){
		if(Cifr(i, 6)+Cifr(i, 5) == Cifr(i, 4)+Cifr(i, 3) == Cifr(i, 2)+Cifr(i, 1))
			Count++;

	}

	printf("%d", Count);

	return 0;
}
Время выполнения (16bit) - пару секунд на моем скудном 500 Cel.
  Ответить с цитированием
Старый 17.04.2005, 18:43   #19
TiRex
Red Machine!
 
Аватар для TiRex
 
Регистрация: 18.07.2004
Сообщений: 1,401
По умолчанию

Нуждаюсь в алгоритмах нахождения интегралов методами прямоугольников и методами трапеций. Может кто сможет тут функции написать?
__________________
1: Андрей, я тебя ненавижу!
2: Хм, надо же. А кого ненавижу я? А давай угадывать?
TiRex вне форума   Ответить с цитированием
Старый 17.04.2005, 19:47   #20
COBEHOK
Новичок
 
Регистрация: 17.08.2004
Сообщений: 780
По умолчанию

http://www.rsdn.ru
COBEHOK вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Свадьба и всё что связано с ней Ninelka * Островок Любви и Романтики * 29 16.02.2009 15:38
Сантехника и все что с ней связано... Kras_dim Работа, услуги 0 11.02.2009 16:34
Formula 1 (и все что с ней связано) TRIGER Авто-Мото 86 15.02.2008 19:32
Моддинг и все, что с ним связано RIF Железо 175 12.06.2007 23:12


Текущее время: 12:38. Часовой пояс GMT +7.


Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Форум открыт в июле 2004 г.
Кошки и котята Красноярска и Сибири Живой Мир Сибири