Kombinasyon Hesaplatma
-
Yazilimci bunu yazdıpalin bunu yazdıyabadabadoo bunu yazdı
Buyurun hocam. Javascript ile yazdim, umarim anlarsiniz :) Asagida bir sandbox linki de biraktim, kodu denersiniz.
// filtre fonksiyonu
function uygundur(giri) {let uygun = true
if (giri.gun >= 365) uygun = false
if (giri.saat >= 24) uygun = false
if (giri.dakika >= 60) uygun = false
if (giri.saniye >= 60) uygun = false
return uygun
}
// asil fonksiyonfunction strToDate (str) {
let len = str.length
let sonuclar = []
for (let yil = 0; yil <= len; yil++) {
for (let gun = yil; gun <= len; gun++) {
for (let saat = gun; saat <= len; saat++) {
for (let dakika = saat; dakika <= len; dakika++) {
let giri = {
yil: str.substring(0, yil),
gun: str.substring(yil, gun),
saat: str.substring(gun, saat),
dakika: str.substring(saat, dakika),
saniye: str.substring(dakika, len)
}
// sayiya cevir, bos ise 0 yap
giri.yil = +giri.yil || 0
giri.gun = +giri.gun || 0
giri.saat = +giri.saat || 0
giri.dakika = +giri.dakika || 0
giri.saniye = +giri.saniye || 0
// filtreden gecir
if (uygundur(giri)) {
sonuclar.push(giri)
}
}
}
}
}
return sonuclar
}Sandbox linki: https://playcode.io/382000?tabs=script.js,preview,console
Ellerine sağlık hocam, tam istediğim şeyi yaptı. Ben de JS kullanıyordum zaten, direk yapıştırdım istediğim alana. İmreniyorum şöyle şeyleri çözebilenlere yahu. Benim kafa çalışmıyor. :D
Hocam yanlış hatırlamıyorsam datada stabilite yoktu. Birde ben yılı yanlış anlamışım sanırım. Yılın kaç olduğu değilde kaç yıl olduğu bilgisi var gelen datada. Arkadaşın yazdığı kodda 20192366 şu datayı girdim. Aşağıdaki gibi bir sonuç çıktı
yil:2,gun:19,saat:2,dakika:36,saniye:6Senin söylediğine göre bu data şu şekilde de olamaz mıydı?yil:20,gun:19,saat:23,dakika:6,saniye:6veyayil:20,gun:192,saat:3,dakika:6,saniye:6Hocam bu kod olabilecek olanların tamamını veriyor zaten. 20192366 örneği için toplam 42 sonuç var, onların tamamı da listede oluyor. Bana da bu olacak olanlar lazımdı veri girişi yapabilmem için. Loopla direk listeden çekiyorum.
-
palin bunu yazdıYazilimci bunu yazdıpalin bunu yazdıyabadabadoo bunu yazdı
Buyurun hocam. Javascript ile yazdim, umarim anlarsiniz :) Asagida bir sandbox linki de biraktim, kodu denersiniz.
// filtre fonksiyonu
function uygundur(giri) {let uygun = true
if (giri.gun >= 365) uygun = false
if (giri.saat >= 24) uygun = false
if (giri.dakika >= 60) uygun = false
if (giri.saniye >= 60) uygun = false
return uygun
}
// asil fonksiyonfunction strToDate (str) {
let len = str.length
let sonuclar = []
for (let yil = 0; yil <= len; yil++) {
for (let gun = yil; gun <= len; gun++) {
for (let saat = gun; saat <= len; saat++) {
for (let dakika = saat; dakika <= len; dakika++) {
let giri = {
yil: str.substring(0, yil),
gun: str.substring(yil, gun),
saat: str.substring(gun, saat),
dakika: str.substring(saat, dakika),
saniye: str.substring(dakika, len)
}
// sayiya cevir, bos ise 0 yap
giri.yil = +giri.yil || 0
giri.gun = +giri.gun || 0
giri.saat = +giri.saat || 0
giri.dakika = +giri.dakika || 0
giri.saniye = +giri.saniye || 0
// filtreden gecir
if (uygundur(giri)) {
sonuclar.push(giri)
}
}
}
}
}
return sonuclar
}Sandbox linki: https://playcode.io/382000?tabs=script.js,preview,console
Ellerine sağlık hocam, tam istediğim şeyi yaptı. Ben de JS kullanıyordum zaten, direk yapıştırdım istediğim alana. İmreniyorum şöyle şeyleri çözebilenlere yahu. Benim kafa çalışmıyor. :D
Hocam yanlış hatırlamıyorsam datada stabilite yoktu. Birde ben yılı yanlış anlamışım sanırım. Yılın kaç olduğu değilde kaç yıl olduğu bilgisi var gelen datada. Arkadaşın yazdığı kodda 20192366 şu datayı girdim. Aşağıdaki gibi bir sonuç çıktı
yil:2,gun:19,saat:2,dakika:36,saniye:6Senin söylediğine göre bu data şu şekilde de olamaz mıydı?yil:20,gun:19,saat:23,dakika:6,saniye:6veyayil:20,gun:192,saat:3,dakika:6,saniye:6Hocam bu kod olabilecek olanların tamamını veriyor zaten. 20192366 örneği için toplam 42 sonuç var, onların tamamı da listede oluyor. Bana da bu olacak olanlar lazımdı veri girişi yapabilmem için. Loopla direk listeden çekiyorum.
Hangisinin doğru olduğunu nasıl saptayacaksın? Nasıl bir alanda kullanılıyor?
-
end bunu yazdıpalin bunu yazdıYazilimci bunu yazdıpalin bunu yazdıyabadabadoo bunu yazdı
Buyurun hocam. Javascript ile yazdim, umarim anlarsiniz :) Asagida bir sandbox linki de biraktim, kodu denersiniz.
// filtre fonksiyonu
function uygundur(giri) {let uygun = true
if (giri.gun >= 365) uygun = false
if (giri.saat >= 24) uygun = false
if (giri.dakika >= 60) uygun = false
if (giri.saniye >= 60) uygun = false
return uygun
}
// asil fonksiyonfunction strToDate (str) {
let len = str.length
let sonuclar = []
for (let yil = 0; yil <= len; yil++) {
for (let gun = yil; gun <= len; gun++) {
for (let saat = gun; saat <= len; saat++) {
for (let dakika = saat; dakika <= len; dakika++) {
let giri = {
yil: str.substring(0, yil),
gun: str.substring(yil, gun),
saat: str.substring(gun, saat),
dakika: str.substring(saat, dakika),
saniye: str.substring(dakika, len)
}
// sayiya cevir, bos ise 0 yap
giri.yil = +giri.yil || 0
giri.gun = +giri.gun || 0
giri.saat = +giri.saat || 0
giri.dakika = +giri.dakika || 0
giri.saniye = +giri.saniye || 0
// filtreden gecir
if (uygundur(giri)) {
sonuclar.push(giri)
}
}
}
}
}
return sonuclar
}Sandbox linki: https://playcode.io/382000?tabs=script.js,preview,console
Ellerine sağlık hocam, tam istediğim şeyi yaptı. Ben de JS kullanıyordum zaten, direk yapıştırdım istediğim alana. İmreniyorum şöyle şeyleri çözebilenlere yahu. Benim kafa çalışmıyor. :D
Hocam yanlış hatırlamıyorsam datada stabilite yoktu. Birde ben yılı yanlış anlamışım sanırım. Yılın kaç olduğu değilde kaç yıl olduğu bilgisi var gelen datada. Arkadaşın yazdığı kodda 20192366 şu datayı girdim. Aşağıdaki gibi bir sonuç çıktı
yil:2,gun:19,saat:2,dakika:36,saniye:6Senin söylediğine göre bu data şu şekilde de olamaz mıydı?yil:20,gun:19,saat:23,dakika:6,saniye:6veyayil:20,gun:192,saat:3,dakika:6,saniye:6Hocam bu kod olabilecek olanların tamamını veriyor zaten. 20192366 örneği için toplam 42 sonuç var, onların tamamı da listede oluyor. Bana da bu olacak olanlar lazımdı veri girişi yapabilmem için. Loopla direk listeden çekiyorum.
Hangisinin doğru olduğunu nasıl saptayacaksın? Nasıl bir alanda kullanılıyor?
Doğru olanı girdiğimde bir metin oluşturuluyor kullandığım bir programda hocam. Şifreleme yöntemi olarak kullanılmış, bir tür oyun gibi. Ben sadece gelen sonuçları girip mantıklı bir metin alabiliyor muyum ona bakıyorum. Basit brute force. Sadece koddaki loop mantığını kafamda kuramamıştım bir türlü.
-
Tamam şimdi oldu hocam :)))