19.05.2015, 18:31 | #1 (permalink) |
Новичок
Регистрация: 19.05.2015
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Задача в Паскале
program prim1; var m, n: integer; k: integer; begin writeln('Введите N='); readln(n); m:=n;k:=0; while m <>0 do begin k:=k+1; m:= m div 10; end; writeln('B числе ',n,'- ',k, ' цифр!'); readln; end. |
19.05.2015, 18:31 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Прочитайте какие нибудь из похожих тем, это не займет много времени Задача на Паскале аbс Задача в Паскале Задача на Паскале |
19.05.2015, 19:37 | #5 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да пожалуйста - делов-то куча...
Код:
Var n,Sign,Sum2:Integer; Num,Sum1,First,i:Byte; Begin Write('n = '); Readln(n); Num:=Trunc(Ln(n)/Ln(10))+1; if (Num mod 2)=1 then Sign:=1 else Sign:=-1; Sum1:=0; Sum2:=0; for i:=1 to Num do begin First:=(n mod 10); Sum1:=Sum1+First; Sum2:=Sum2+Sign*First; Sign:=-Sign; n:=n div 10; end; Writeln('Number of digits = ',Num); Writeln('Sum of digits = ',Sum1); Writeln('First digit = ',First); Writeln('Alternating sum of digits = ',Sum2); End. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
19.05.2015, 20:10 | #6 (permalink) |
Member
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
|
У меня другой вариант:
uses SysUtils; var n,i,sum:integer; s:string; begin Write('Chislo = '); Readln(n); s:=IntToStr(n); sum:=0; for i:=1 to Length(s) do if (i mod 2)<>0 then sum:=sum+(Ord(s[i])-Ord('0')) else sum:=sum-(Ord(s[i])-Ord('0')); Writeln('Summa = ',sum); Readln; end. |
19.05.2015, 21:38 | #8 (permalink) |
Member
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
|
У Владимира более математически.
sum:=sum+(Ord(s[i])-Ord('0')) - берём код символа, вычитаем из него код ноля и прибавляем (или вычитаем ) к сумме. Последний раз редактировалось Евгений; 19.05.2015 в 21:47 |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
задача, паскаль; помогите |
|
|