Monk [Off] [#] (04.02.2012 / 13:55) |
program GW;
var k, N, l: integer;
begin
write('N = ');
readln(N);
k:=0;
l:=1;
if N mod 10 = 0 then
writeln('Eror')
else
begin
while N > 0 do
begin
k:= k+1;
if (k=9) or (k=99) or (k=999) or (k=9999) or (k=99999) or (k=999999) then
l:= l+1;
N:= N-l;
end;
writeln('k = ', k);
end;
end.
Monk [Off] [#] (04.02.2012 / 13:45) |
нутакахуливотскокаучасниковбуитесиN=18467454, тобиш количество розрядов числа =18467454???k = 2795508
LockeD [Off] [#] (04.02.2012 / 12:54) ████████████ - сотри и прочитай мой статус |
LockeD, понял чувак!
у моем решении переменная i никак не может быть 10! потому что, если учасников будет 10, то число получится 11-тизначное
а если 9, то 9-тизначное!
10-тинутакахуливотскокаучасниковбуитесиN=18467454, тобиш количество розрядов числа =18467454???
Monk [Off] [#] (04.02.2012 / 12:33) |
у моем решении переменная i никак не может быть 10! потому что, если учасников будет 10, то число получится 11-тизначное
а если 9, то 9-тизначное!
10-тизначным число не может быть!
моя программа столько не насчитает, но если вводить эти значения самому, то придется исключать значения кратные 10-ти
Monk [Off] [#] (04.02.2012 / 12:22) |
блеать, а надо что бы ошибочное былоблять. я себе задачу усложнил. у меня нет ошибочных! все что больше 1 прокатит. в переменную i программа насчитает сколько знаков в этом числе было. если вписывать это число самому, то ошибочным будет число меньше 0 там все нормально работает. потесть мое решение сам и если найдешь ошибки пеши
LockeD [Off] [#] (04.02.2012 / 12:16) ████████████ - сотри и прочитай мой статус |
LockeD, ты мой код смотрел? ты его тестил?нет еще XD
LockeD [Off] [#] (04.02.2012 / 12:16) ████████████ - сотри и прочитай мой статус |
10 не ошибочное. это оно логически ошибочное, ибо счет начинается с 1, а программа сначала поделит его на 1, потом на 10, на 100 уже не поделит, и при этом насчитает, что число 2знасное.
ошибблеать, а надо что бы ошибочное было
Monk [Off] [#] (04.02.2012 / 12:05) |
Monk [Off] [#] (04.02.2012 / 12:04) |
а какие n будут ошибочными??? вот 10 - ошибочное, а исчо???10 не ошибочное. это оно логически ошибочное, ибо счет начинается с 1, а программа сначала поделит его на 1, потом на 10, на 100 уже не поделит, и при этом насчитает, что число 2знасное.
ошибочными будут числа 0 и менше
LockeD [Off] [#] (04.02.2012 / 11:45) ████████████ - сотри и прочитай мой статус |
нет. там все нормально работаета какие n будут ошибочными??? вот 10 - ошибочное, а исчо???
Редгард [Off] [#] (04.02.2012 / 11:36) |
GiG [Off] [#] (04.02.2012 / 11:29) |
Monk [Off] [#] (04.02.2012 / 11:28) |
получается ошибочными будут N кратные 10?нет. там все нормально работает
LockeD [Off] [#] (04.02.2012 / 11:04) ████████████ - сотри и прочитай мой статус |
Monk [Off] [#] (04.02.2012 / 10:53) |
чотавашпенихуянипонилблеатья брал число которое утворилось, вычитывал сколько там знаков, а потом узнавал сколько человек брало участвие
LockeD [Off] [#] (04.02.2012 / 10:18) ████████████ - сотри и прочитай мой статус |
блять. тогда мое решение можна урезать у половинучотавашпенихуянипонилблеать
Monk [Off] [#] (04.02.2012 / 10:03) |
так N - это же количество розрядов, тобиш количество знаков, но не само это числоблять. тогда мое решение можна урезать у половину
LockeD [Off] [#] (04.02.2012 / 09:50) ████████████ - сотри и прочитай мой статус |
да. ошибочного не учел, а остальное работает правильно.
longint это тот же integer он, как видишь, принимает 10-ти значное число. а число 12345678910 - 11-ти значное, от этого следует, что учасникотак N - это же количество розрядов, тобиш количество знаков, но не само это число
Monk [Off] [#] (04.02.2012 / 09:13) |
да ну, этого не может быть, кст не учел ошибочного N (в таком случае выводим -1)
ЗЫ longint ±2147483647, естественно отрицательных учасников тоже не может бытьда. ошибочного не учел, а остальное работает правильно.
longint это тот же integer он, как видишь, принимает 10-ти значное число. а число 12345678910 - 11-ти значное, от этого следует, что учасников не может быть больше 9-ти! для того чтобы их было 10 и больше я брал int64
LockeD [Off] [#] (04.02.2012 / 08:27) ████████████ - сотри и прочитай мой статус |
Кстати я соврал, 99 участников это 189значное число.
189 - 9 = 180 (99-9 = 90) // отнимаем первых 9 участников
180 / 2 = 90 // оставшиеся 90, с двухзначными номерамипоэтому этому N - longint