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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2013, 21:11   #1
Tepk111
 
Регистрация: 25.11.2013
Сообщений: 4
По умолчанию Проблема в решении задачи

Дана следующая задача:

Даны целое число k (1<=k<=180 ) и последовательность цифр 101102103…149150, в которой выписаны подряд все трехзначные числа от 101 до 150. определить k -ю цифру, если известно, что: - k - число кратное трём; - k - одно из чисел 1,4,7…;- k - одно их чисел 2,5,8…

Условия выполнения: НЕ ИСПОЛЬЗОВАТЬ циклы, массивы, ибо начальный уровень обучения.
Нужно в универ решить, ибо не получу автомат, а я не могу никак.. Заранее спасибо за любую помощь!

Есть некоторая идея, как выделять k кратное 3 (k%3=0), а как и что дальше я не знаю
Tepk111 вне форума Ответить с цитированием
Старый 26.11.2013, 09:16   #2
Shad0wF1rst
Форумчанин
 
Регистрация: 11.01.2013
Сообщений: 149
По умолчанию

Цитата:
Сообщение от Tepk111 Посмотреть сообщение
Дана следующая задача:

Даны целое число k (1<=k<=180 ) и последовательность цифр 101102103…149150, в которой выписаны подряд все трехзначные числа от 101 до 150. определить k -ю цифру, если известно, что: - k - число кратное трём; - k - одно из чисел 1,4,7…;- k - одно их чисел 2,5,8…

Условия выполнения: НЕ ИСПОЛЬЗОВАТЬ циклы, массивы, ибо начальный уровень обучения.
Нужно в универ решить, ибо не получу автомат, а я не могу никак.. Заранее спасибо за любую помощь!

Есть некоторая идея, как выделять k кратное 3 (k%3=0), а как и что дальше я не знаю
Вот даже самому стало интересно как пройти последовательность чисел не используя циклы?!
Может это и чушь, но это моя чушь и я ее никому не отдам.
Shad0wF1rst вне форума Ответить с цитированием
Старый 26.11.2013, 09:35   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

индекс ->число ->его цифры

ВСЕ числа занимают одинаковое место (они все трехзначные).
индекс / число
1 / 101
2 / 101
3 / 101
4 / 102
Цитата:
как пройти последовательность чисел не используя циклы?!
использовать математику(арифметику).
Код:
число :=формула1 (индекс); 100 3 индекс div +
номерцифры :=формула2(индекс);
цифра :=формула3 (число, номерцифры )
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 26.11.2013 в 11:32.
evg_m вне форума Ответить с цитированием
Старый 26.11.2013, 15:20   #4
Shad0wF1rst
Форумчанин
 
Регистрация: 11.01.2013
Сообщений: 149
По умолчанию

Цитата:
использовать математику(арифметику).
Код:
число :=формула1 (индекс); 100 3 индекс div +
номерцифры :=формула2(индекс);
цифра :=формула3 (число, номерцифры )
А можно поподробнее?! Потому что писать 50 раз присваивание к каждой переменной это издевательство или я чего то не понимаю?! А если на каждое уйдет 3 строчки то получится 150 строк это только на отделение цифр, а нужно еще определить k -ю цифру, если известно, что: - k - число кратное трём; - k - одно из чисел 1,4,7…;- k - одно их чисел 2,5,8. Я не спорю можно все сделать линейно без цикла но это будет кощунством
Может это и чушь, но это моя чушь и я ее никому не отдам.

Последний раз редактировалось Shad0wF1rst; 26.11.2013 в 15:24.
Shad0wF1rst вне форума Ответить с цитированием
Старый 27.11.2013, 09:45   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
А можно поподробнее?!
формула 1 НАДО придумать такую (на самом деле очень простую) формулу, чтобы по заданному индексу она ВЫЧИСЛЯЛА трехзначное число расположенное в указанном месте. (подсказка или сама эта формула на самом деле указана в той же строке).
так же надо придумать ДВЕ другие формулы.
Извините, но указывать эти формулы явно я не буду.
P.S. еще одна подсказка.
если пронумеровать все выписанные числа, то как зная индекс выбранной цифры узнать к какому по номеру числу она относится и зная номер числа, узнать само число.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 27.11.2013 в 09:53.
evg_m вне форума Ответить с цитированием
Старый 27.11.2013, 16:56   #6
Tepk111
 
Регистрация: 25.11.2013
Сообщений: 4
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
формула 1 НАДО придумать такую (на самом деле очень простую) формулу, чтобы по заданному индексу она ВЫЧИСЛЯЛА трехзначное число расположенное в указанном месте. (подсказка или сама эта формула на самом деле указана в той же строке).
так же надо придумать ДВЕ другие формулы.
Извините, но указывать эти формулы явно я не буду.
P.S. еще одна подсказка.
если пронумеровать все выписанные числа, то как зная индекс выбранной цифры узнать к какому по номеру числу она относится и зная номер числа, узнать само число.
А добить можете?
- k - число кратное трём, то (k/3)%10;
- k - одно из чисел 1,4,7…, то всегда будет 1
- k - одно их чисел 2,5,8… а тут до меня почему-то не доходит..
Tepk111 вне форума Ответить с цитированием
Старый 28.11.2013, 16:44   #7
Shad0wF1rst
Форумчанин
 
Регистрация: 11.01.2013
Сообщений: 149
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
формула 1 НАДО придумать такую (на самом деле очень простую) формулу, чтобы по заданному индексу она ВЫЧИСЛЯЛА трехзначное число расположенное в указанном месте. (подсказка или сама эта формула на самом деле указана в той же строке).
так же надо придумать ДВЕ другие формулы.
Извините, но указывать эти формулы явно я не буду.
P.S. еще одна подсказка.
если пронумеровать все выписанные числа, то как зная индекс выбранной цифры узнать к какому по номеру числу она относится и зная номер числа, узнать само число.
Та ладно мне то формулы не нужны, не мне это задание делать, мне больше интересно неужели при данном подходе циклы не использовать, как было сказано в задании что без их применения, по мне даже так код распухнет очень сильно, по сравнению с тем что было бы при использовании циклов.
Может это и чушь, но это моя чушь и я ее никому не отдам.
Shad0wF1rst вне форума Ответить с цитированием
Старый 28.11.2013, 19:10   #8
Tepk111
 
Регистрация: 25.11.2013
Сообщений: 4
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
формула 1 НАДО придумать такую (на самом деле очень простую) формулу, чтобы по заданному индексу она ВЫЧИСЛЯЛА трехзначное число расположенное в указанном месте. (подсказка или сама эта формула на самом деле указана в той же строке).
так же надо придумать ДВЕ другие формулы.
Извините, но указывать эти формулы явно я не буду.
P.S. еще одна подсказка.
если пронумеровать все выписанные числа, то как зная индекс выбранной цифры узнать к какому по номеру числу она относится и зная номер числа, узнать само число.
Собственно вот мой код..
Код:
#include<iostream.h>
#include<conio.h>
void main ()
{
clrscr();
int k,k1,k2,k3;
cout<<"Enter the number k, if (k>=1)&&(k<=180)"<<endl;
cin>>k;
k1=1;
cout<<"1,3,5 ="<<k1<<endl;
k2=(k/3)%10;
cout<<"kratoe 3="<<k2<<endl;
k3=(k/10)%10;
cout<<"2,4,8 ="<<k3;
getch();
}
преподаватель сказал сделать что бы просто выводило k-ю цифру ..

Последний раз редактировалось Serge_Bliznykov; 28.11.2013 в 23:09.
Tepk111 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ребят я не могу понять как решать эти задачи!может кто помочь в решении представленной задачи? Andrusha07 Помощь студентам 0 09.03.2012 23:08
Подсказка в решении задачи С++ Pycbka Помощь студентам 4 16.11.2011 21:49
Проблема в решении задачи в Delphi :( Олег9559 Помощь студентам 0 28.11.2010 22:55
Проблема в решении задачи [С++] asp1k Помощь студентам 0 17.11.2010 16:16
помогите в решении задачи. gaddam Паскаль, Turbo Pascal, PascalABC.NET 2 24.11.2008 19:06