Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

(Паскаль) Определение элементарных свойств введеного числа.

17K
12 мая 2007 года
maksimxp
11 / / 21.11.2006
Ввести некоторое целое число N. Определить, является ли оно числом: неотрицательным? Кратным 8? Меньшим 1? Степенью 3?
Замечания: предусмотреть переход между перечисленными условиями с помощью оператора Case.
Народ, помогите с этой задачей пожалуйста...
242
12 мая 2007 года
Оlga
2.2K / / 04.02.2006
[COLOR="Red"]Нарушение правил форума. В следущий раз будет бан, а тема будет удалена. Читай правила форума.[/COLOR]
257
13 мая 2007 года
kosfiz
1.6K / / 18.09.2005
вобщем будет как-то так(если не напортачил нигде):
Код:
var
        a,n,m:integer;
        b:boolean;
begin
while true do
 begin
  writeln('viberite deistvie:');
  readln(a);
  case a of
  1:
        begin
                writeln('vvedite chislo');
                readln(n);
        end;
  2:if n>=0 then writeln('>=0') else writeln('<');
  3:if (n mod 8) = 0 then writeln('kratno 8') else writeln('ne kratno 8');
  4:if n<1 then writeln('<') else writeln('>=1');
  5:begin
        m:=n;
        b:=true;
        while m>=3 do
                begin
                        if m mod 3 <> 0 then begin b:=false; break;end
                        else
                                begin
                                        m:= m div 3;
                                end;
                end;
        if m<>1 then b:=false;
        if b then writeln('stepen 3') else writeln('ne stepen 3');
    end;
  6:break;
  end;
 end;
end.
622
13 мая 2007 года
nilbog
507 / / 19.12.2006
ой - как-то сложно слишком
вот проверку на степень тройки так проще
 
Код:
if (n mod 10) in [3,9,7,1] then writeln('stepen 3') else writeln('ne stepen 3');

в одну строчку
7.8K
13 мая 2007 года
Hrew
185 / / 23.04.2007
Цитата: nilbog
ой - как-то сложно слишком
вот проверку на степень тройки так проще
 
Код:
if (n mod 10) in [3,9,7,1] then writeln('stepen 3') else writeln('ne stepen 3');
[COLOR="White"]//[/COLOR]

в одну строчку



Уж лучше сложно, но правильно, чем в одну строчку, но неправильно :).
К примеру возьмем число 17. Поделим на 10. Остаток 7. По-вашему получается, что 17 это степень тройки...Ну надо же...

622
13 мая 2007 года
nilbog
507 / / 19.12.2006
нда - это получается условие только необходимое а не достаточное
просто 3 9 7 1 эти числа с периодичностью 4 появляются последней цифрой степеней тройки
но достаточности увы нет ((
зато этим условием мы можем заведомо отсеять числа не явл степенями тройки :)
ps я что-то спросонья перепутал с классической задачей - на какую цифру оканчивается число скажем 3^259
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог