programming question

8 views
Skip to first unread message

omid adab

unread,
Mar 14, 2011, 1:10:03 PM3/14/11
to iran-c...@googlegroups.com
سلام به همه ی دوستان
کسی از دوستان روشی برای بدست آوردن تمام ترکیبات ممکن از اعداد 1 تا 9
+حروف بزرگ+ حروف کوچک انگلیسی در 7 مکان داره؟البته تکرار هم جایزه
الگوریتمی که به ذهن خودم میرسه پچیچیدگی زمانیش فوق العاده بالاست و
نزدیک به 7 به توان 7 ه.اگه دوستان روشی به ذهنشون میرسه ممون میشم
راهنمایی کنن
مثلا:
a12111f
--
Best Wishes
Omid Adab

N Mousavi

unread,
Mar 16, 2011, 6:08:23 AM3/16/11
to iran-c...@googlegroups.com
سلام
بعيده بتونيد الگوريتم بهتري پيدا کنيد، مرتبه اين الگوريتم نمايي هستش. اما اگه براي رمز گشايي مي خواهيد، روش هايي هست که تاحدي ممکنه حدس زدن رمز رو ساده تر کنه. به اين صورت که ازليستي از کلمات انگليسي استفاده کنيد. اگه کلمه رمز حاوي کلمه اي باشه که توي اين ديکشنري موجود باشه (يه کلمه ي صحيح در زبان انگليسي) شما سريع تر مي تونيد رمز رو حدس بزنيد. اگه احتمال وجود کلمات فينگليش باشه طبيعتا ساخت يه چيز مشابه کمک مي کنه. هر چند کار سختيه!ا
موفق باشيد

2011/3/14 omid adab <in...@omidadab.tk>

--
شما به این دلیل این پیام را دریافت کرده اید که در گروه Google Groups "IRAN-Computer" مشترک شده اید.
جهت پست کردن مطلب به این گروه، ایمیلی به iran-c...@googlegroups.com ارسال کنید.
جهت لغو اشتراک از این گروه، ایمیلی به iran-compute...@googlegroups.com ارسال کنید.
برای گزینه های دیگر، از این گروه در http://groups.google.com/group/iran-computer?hl=fa دیدن کنید.


sharokh

unread,
Mar 16, 2011, 10:18:27 AM3/16/11
to iran-c...@googlegroups.com
با سلام امید جان
به نظر من اون الگوریتمی که تو در ذهنت داری و استفاده از حلقه های تو در تو هست
مرتبه ای خیلی بشتر از هفت به توان هفت داره

یک چیزی تو مایه های هفتاد به توان هفت است که خیلی بزرگ تر از اون است
به نظر من چون شما قرار است تمام ترکیبات رو بدست بیاری هیچ راهی بهتر از
این نمی تونه باشه
البته این فقط نظر فعلی من هستش

> --
> شما به این دلیل این پیام را دریافت کرده اید که در گروه Google Groups
> "IRAN-Computer" مشترک شده اید.
> جهت پست کردن مطلب به این گروه، ایمیلی به iran-c...@googlegroups.com
> ارسال کنید.
> جهت لغو اشتراک از این گروه، ایمیلی به
> iran-compute...@googlegroups.com ارسال کنید.
> برای گزینه های دیگر، از این گروه در
> http://groups.google.com/group/iran-computer?hl=fa دیدن کنید.
>
>


--
*

خدا زیباست و زیبایی را دوست دارد

*

omid adab

unread,
Mar 17, 2011, 5:00:33 AM3/17/11
to iran-c...@googlegroups.com
سلام
آره منم همون 70 به توان 7 منظورم بود
ممنون از راهنماییت


--
Best Wishes
Omid Adab

moh hrn

unread,
Mar 17, 2011, 9:00:22 AM3/17/11
to iran-c...@googlegroups.com
به عمل کار براید به حرف زدن که نیست! شماها که متخصص هستید بگین این کد من چه مرتبه ای داره
Private Function NoRepeatGenerator(MAX As Integer, cnt As Long) As String
Dim int1 As Integer
Dim Tstr As String
Dim TMAx As Integer
TMAx = MAX
Do Until cnt = 0
    int1 = cnt Mod (TMAx)
    cnt = cnt \ (TMAx)
    Tstr = int1 & Tstr
    TMAx = TMAx - 1
Loop
Dim LenToPad As Integer
LenToPad = MAX - Len(Tstr)
Dim i As Integer
For i = 0 To LenToPad - 1
Tstr = "0" & Tstr
Next i
NoRepeatGenerator = Tstr
'Exit Function
Dim IsUsed() As Boolean
Dim Found As Boolean
ReDim IsUsed(MAX) As Boolean
Dim NowSel As Integer
Dim j As Integer
Dim finalSTR As String
For i = 0 To MAX - 1
NowSel = CInt(Mid(StrReverse(Tstr), i + 1, 1)) + 1
Found = False
j = 1
While (Found = False)
If IsUsed(j) = False Then NowSel = NowSel - 1
If NowSel = 0 Then
If finalSTR = "" Then
finalSTR = (j - 1)
Else
finalSTR = finalSTR & " " & (j - 1)
End If

Found = True
IsUsed(j) = True
End If
j = j + 1
If j > MAX Then j = 1
DoEvents
Wend


Next i
NoRepeatGenerator = finalSTR
End Function

Private Function Factorial(Num As Integer) As Double
Dim tlng As Double
tlng = 1
Dim i As Integer
For i = 2 To Num
tlng = tlng * i
Next i
Factorial = tlng
End Function

به این صورت هم استفاده می شه
.
.
.
.
NowFact = Factorial(MaxInput)

For NoRepeatIndex = 0 To NowFact - 1
Tstr = NoRepeatGenerator(MaxInput, CLng(NoRepeatIndex))
Splited = Split(Tstr, " ")
.
.
.
.
.

این تکه کد قسمتی از یک برنامه ی 14 هزار خطی بود...
نگفتم که پز بدما گفتم که حال کنیدا



2011/3/16 sharokh <mora...@gmail.com>

omid adab

unread,
Mar 17, 2011, 1:24:00 PM3/17/11
to iran-c...@googlegroups.com
شما کارت درسته قربان
دستت درد نکنه
حالا این قطعه کد همون کاریو که من میخام انجام میده؟

>> iran-c...@googlegroups.comارسال کنید.


>> جهت لغو اشتراک از این گروه، ایمیلی به
>> iran-compute...@googlegroups.com ارسال کنید.
>> برای گزینه های دیگر، از این گروه در
>> http://groups.google.com/group/iran-computer?hl=fa دیدن کنید.
>>
>>
>
> --
> شما به این دلیل این پیام را دریافت کرده اید که در گروه Google Groups
> "IRAN-Computer" مشترک شده اید.
> جهت پست کردن مطلب به این گروه، ایمیلی به iran-c...@googlegroups.com
> ارسال کنید.
> جهت لغو اشتراک از این گروه، ایمیلی به
> iran-compute...@googlegroups.com ارسال کنید.
> برای گزینه های دیگر، از این گروه در
> http://groups.google.com/group/iran-computer?hl=fa دیدن کنید.
>
>


--
Best Wishes
Omid Adab

sharokh

unread,
Mar 17, 2011, 3:59:24 PM3/17/11
to iran-c...@googlegroups.com
مستر moh
سلام

اگه درس کامپیوتر خوندی ، حتماً درس ساختمان داده رو پاس کردی
تو اون درس مرتبه برنامه ها رو یاد می دن چطور محاسبه کنی

تو که خودت برنامه نوشتی خودت هم زحمتشو بکش مرتبه شو پیدا کن

حالا برنامه ات چیکار میکنه که 14 هزار خط شده

Reply all
Reply to author
Forward
0 new messages