Нужна помощь
Даны натуральные числа n, a1,a2,..., an. Определить количество членов ak последовательности a1,a2,..., an удовлетворяющих условию 2^k<ak<k!
На языке Delphy. |
Нужна помощь? Пожалуйста. Алгоритм решения примерно такой:
При решении используйте функции для вычисления k-ой степени 2-ки и факториала числа k. Введенные члены последовательности сохраняйте в одномерный целочисленный массив из n элементов, затем в цикле анализируйте каждое число, сравнивая с вычисленными значениями степени 2-ки и факториала. Если число попадает в диапазон - результирующий счетчик увеличивайте на 1. По окончании анализа выведите содержимое результирующего счетчика на экран. Графический интерфейс для решения этой задачи создавать не обязательно, хотя он добавит солидности вашему коду. А программу при наличии желания вы напИшите самостоятельно. |
а программу можете написать???
|
Цитата:
|
Если я за вас напишу программу - не факт, что вы сможете объяснить всё в листинге при сдаче, из-за этого неизбежно у преподавателя появятся вопросы к вам. Поэтому попытайтесь самостоятельно сделать и выложить сюда, а мы вам поможем исправить, если будут проблемы или ошибки.
|
Цитата:
Form1: TForm1; n:integer; implementation {$R *.dfm} procedure TForm1.Edit1Change(Sender: TObject); begin n:=StrToInt (edit1.text); StringGrid1.ColCount:=n; end; function fac(n:integer):integer; var i:integer; begin result:=1; for i:=1 to n do result:=result*i; end; procedure TForm1.Button1Click(Sender: TObject); var a:array [1..100] of real; k,s,i:integer; begin K:=StrToInt (edit2.Text); s:=0; For i:=1 to n do a[i]:=StrToFloat(StringGrid1.Cells [i,1]); for i:=1 to n do If (a[i]>exp(k*ln(2))) and (a[i]<fac(k)) then s:=s+1; if s>0 then Label4.Caption:=IntTostr (s) else ShowMessage ('Проверьте условии, оно задано неверно'); end; end. Вот прога, к-рую составил, но почему то не работает, проверьти пожалуйста |
Часовой пояс GMT +4, время: 18:46. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.