Такая ситуация выпадает не часто, поэтому запускай программу несколько раз подряд. можно повысить вероятность, но это усожнит программу. var i, n: integer; k: array[1..10]of integer; begin for i : = 1 to 10 do begin k[i] : = random(10)+1; write(k[i],' '); if k[i]=i then n: =n+1; end; writeln; writeln('число искомых элементов: ',n) end.
efimov33
12.04.2022
Занумеруем монеты 1,2,3,4,5,6. предполагается, что фальшивые монеты весят одинаково. 1) кладем на левую чашу 1,2,3, а на правую - 4,5,6 рассмотрим 2 возможных случая. случай 1 2) предположим, левая чаша перевесила. значит, обе фальшивые монеты на правой. кладем на левую 4, на правую 5. если равновесие, то обе они фальшивые. если какая-то легче, например, 5, то она фальшивая и фальшивая оставшаяся 6. понадобилось всего 2 взвешивания. случай 2 2) теперь предположим, что весы в равновесии. тогда каждая из троек содержит по одной фальшивой монете. кладем на левую 1, на правую 2. если равновесие, то обе они фальшивые. если какая-то легче, например, 1, то она фальшивая и фальшивая оставшаяся 3. 3) кладем на левую 4, на правую 5. если равновесие, то обе они фальшивые. если какая-то легче, например, 5, то она фальшивая и фальшивая оставшаяся 6.
Елена
12.04.2022
Var a: string; words, nums, chars, i, sen: integer; begin readln(a); words : = 1; for i : = 1 to length(a) do begin if (a[i] = ' ') then inc(words); if (a[i] in ['0'..'9']) then inc(nums); if (a[i] = #13) then inc(sen); if (a[i] in ['a'..'z', 'a'..'z', 'а'..'я', 'а'..'я']) then inc(chars); end; writeln(words, ' words', #13, chars, ' chars (', nums, ' numbers)', #13, sen, ' sentences'); end.разве что на строки проверить не могу, т.к. у меня только pascalabc, но должно работать =)
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Подсчитать количество элементов одномерного массива, которые со своим номером