Mesaja Baxış 
 
Mövzunu Qiymətləndir
  • 2 Səs - 5 Orta Hesab
  • 1
  • 2
  • 3
  • 4
  • 5
Olimpiada məsələləri
04-01-2010, 09:35 PM
Mesaj: #1
Olimpiada məsələləri
Forumçular burada hamı öz proqramlaşdırma qabiliyyətlərini göstərə bilər.
Tələb olunan şərtlər.
1. Hər hansı isə bir proqramlaşdırma dilini bilmək
2. Məntiqi biliyə malik olmaq

Məsələni həll etdikdən sonra:
1. Prqoramın kodunu yazmaq forumda
2. Proqramın kompilədən sonra yaratdığı exe faylı yerləşdirmək

_______ birinci məsələ ___________
1. Səlis ədədlər

İstənilən iki qonşu rəqəmlərinin fərqi modulca vahidi aşmayan ədədi səlis ədəd adlandıracağıq. N-rəqəmli səlis ədədlərin sayını tapan proqram tərtib edin.
Giriş verilənləri
Giriş verilənləri bir neçə testdən ibarətdir. Hər bir test N (1≤N≤ 20) natural ədədindən ibarətdir. Testlər 0 ədədi yazılmış sətirlə bitir.
Çıxış verilənləri
Çıxış verilənlərinin hər bir sətrində yeganə axtarılan ədəd – N-rəqəmli səlis ədədlərin sayı durur. Çıxış verilənləri 0 yazılmış sətirlə bitir.

Nümunə
Giriş verilənləri Çıxış verilənləri

2 26
11 381444
0 0

[Şəkil: kage.png]
Bu istifadəçinin bütün mövzularna bax
Sitat
04-03-2010, 11:23 PM
Mesaj: #2
RE: Olimpiada məsələləri
Kod:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Label1: TLabel;
    XPManifest1: TXPManifest;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var n,i,j,ai,bi,k,kl,m1,m2:longint;
a,b,s:string[21];
begin


k:=0;
n:=strtoint(edit1.Text);

if (n<>1) and (n<7) then
begin
a:='1';
b:='9';

for I:=1 to  n-1 do
begin
a:=a+'0';
b:=b+'9';
end;



ai:=strtoint(a);
bi:=strtoint(b);

for i:=ai to bi do
  begin
   kl:=0;
   s:=inttostr(i);
    for j:=1 to n-1 do
      begin
        m1:=strtoint(copy(s,1,1));
        m2:=strtoint(copy(s,2,1));

        if abs(m1-m2)<2 then
         kl:=kl+1;

         delete(s,1,1);
      end;
      if kl=n-1 then k:=k+1;
  end;

edit2.Text:=inttostr(k);
end    else
if n=1 then

edit2.Text:='0' else
edit2.Text:='Bacarmadiq :)'

end;

end.




aglima bir cox alqoritmler geldi 1 in secib eledim 20-30 deqeye amma
n-in 0,1,2,3,4,5,6 - qiymetlerinde duzgun ishleyir )
her halda 4-5 bal goturmek olardi belke de bu meseledem )
vaxt elesem tam yazaram )



[Şəkil: 7b38f0e90381.jpg][Şəkil: e71ea25c9b70.jpg][Şəkil: fac0423bd397.jpg][Şəkil: 0b98da775d39.jpg][Şəkil: 9404a5ab9c69.jpg][Şəkil: be5cf36a5a82.jpg][Şəkil: 2a104150c2b2.jpg]
[Şəkil: cdc047a9fe61.jpg]





[Şəkil: ubuntu2c.jpg]
[Şəkil: 282b9d9cbf6d24eeadb856325e63.gif]
Explorer ele bir programdi ki onunla Firefox -un saytina girib ozune brauzer yukleye bilersen
http://wWw.CoDeR.Az
Bu istifadəçinin bütün mövzularna bax
Sitat
04-04-2010, 10:09 PM
Mesaj: #3
RE: Olimpiada məsələləri
Aferin Smile Sene Esta təbi ki 4-5 balın özüdə çox yaxşıdır.

[Şəkil: kage.png]
Bu istifadəçinin bütün mövzularna bax
Sitat
04-09-2010, 10:21 PM
Mesaj: #4
RE: Olimpiada məsələləri
Men basqa meseleleri hell etmisem,ama onlari nece gonderim bilmirem.
Sertini de men versem olaaaar Confused ?
Bu istifadəçinin bütün mövzularna bax
Sitat
04-09-2010, 11:50 PM (Son redaktə: 04-09-2010 11:58 PM Ulphat.)
Mesaj: #5
RE: Olimpiada məsələləri
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var s1,s2,s:string;
i:LongInt; {Int64 verdim dovrde islede bilmedim. yeqin 13-e qeder hesablayar}
j,k,n,m:integer;
begin
m:=StrToInt(Edit1.Text);
s1:='1';
s2:='9';
for i := 1 to m - 1 do
begin
s1:=s1+'0';
s2:=s2+'9';
end;
n:=0;
if m>1 then
for i := StrToInt(s1) to StrToInt(s2) do
begin
s:=IntToStr(i);
k:=0;
for j := 1 to m - 1 do
if Abs(StrToInt(s[j+1])-StrToInt(s[j]))<2 then Inc(k);
if k=m-1 then Inc(n);
end
else
n:=0;
Label1.Caption:=IntToStr(n);
end;

end.

   
indi hevesim yoxdu, birazdan hamisini hesablayan proqrami yazacam Big Grin
exe-ni yukleye bilmedim. eeee mellim bu ne isdi eeee Sad
Bu istifadəçinin bütün mövzularna bax
Sitat
04-10-2010, 01:09 AM (Son redaktə: 04-10-2010 01:11 AM EstA.)
Mesaj: #6
RE: Olimpiada məsələləri
kodu qoymaq lazim deyildi gorduz o deyqe kopyaladilar )

[Şəkil: ubuntu2c.jpg]
[Şəkil: 282b9d9cbf6d24eeadb856325e63.gif]
Explorer ele bir programdi ki onunla Firefox -un saytina girib ozune brauzer yukleye bilersen
http://wWw.CoDeR.Az
Bu istifadəçinin bütün mövzularna bax
Sitat
04-10-2010, 05:10 AM
Mesaj: #7
RE: Olimpiada məsələləri
Men kopyalamamisam yaxsi baxsaniz mende 8-e qeder tapir. sizden frqli olaraq.:idea:daha asan yolunu da dapmisam ama yazmaga erinirem.Dodgy
Bu istifadəçinin bütün mövzularna bax
Sitat
04-12-2010, 07:31 PM
Mesaj: #8
RE: Olimpiada məsələləri
Yaz yaz Smile
erinmekle bir wey cixmaz

[Şəkil: kage.png]
Bu istifadəçinin bütün mövzularna bax
Sitat
Mesaja Baxış 


Foruma Get: