ุงู„ุฎุฑูˆุฌ ู…ู† ุนุฌู„ุฉ ุณุงู†ุณุงุฑุง ูˆุงู„ุชุทุฑู ูˆุงู„ุฃุดูŠุงุก ุงู„ุฎุถุฑุงุก ุงู„ุตุบูŠุฑุฉ - ุชุญู„ูŠู„ ุงู„ู…ู‡ุงู… ู…ู† ูƒุชูŠุจ GridGain ููŠ ู…ุคุชู…ุฑ ุฌูˆูƒุฑ 2018

ุนูู‚ุฏ ู…ุคุชู…ุฑ ุฌูˆูƒุฑ ููŠ 19 ูˆ 20 ุฃูƒุชูˆุจุฑ ููŠ ุณุงู†ุช ุจุทุฑุณุจุฑุบ - ุฃูุถู„ ุญุฏุซ ู„ุฃูˆู„ุฆูƒ ุงู„ุฐูŠู† ูŠุญุจูˆู† ู†ูุณ ุงู„ุฃุดูŠุงุก ุงู„ุชูŠ ู†ุญุจู‡ุง: ุงู„ุชู‚ุงุฑูŠุฑ ุงู„ุฑุงุฆุนุฉ ุŒ ูˆุงู„ุชูˆุงุตู„ ู…ุน ุฎุจุฑุงุก ุฌุงูุง ุงู„ู…ุชู‚ุฏู…ูŠู† ูˆุงู„ู…ู‡ุงู…. ู„ู† ู†ุซู†ูŠ ุนู„ู‰ ุงู„ุฅุตุฏุงุฑ ุงู„ุซุงู„ุซ ู…ู† ุงู„ู…ู‡ุงู… ู…ู† GridGain ( 1 ุŒ 2 ) ุŒ ูˆู†ุญู† ู†ู‚ุชุจุณ ุจุดูƒู„ ุฃูุถู„ ุชุนู„ูŠู‚ุงุช ุงู„ู…ุดุงุฑูƒูŠู†:

"ู…ู‡ุงู…ู‡ู… ุจุฏุช ุบุจูŠุฉ ูˆุบูŠุฑ ู…ุฑุชุจุทุฉ ุจุชูƒู†ูˆู„ูˆุฌูŠุง ุงู„ู…ุนู„ูˆู…ุงุช"
"ู…ู‡ุงู… ู…ู…ุชุงุฒุฉ ุŒ ูƒู…ุง ู‡ูˆ ุงู„ุญุงู„ ุฏุงุฆู…ู‹ุง (ุนู„ู‰ ุงู„ุฑุบู… ู…ู† ุฃู†ู†ูŠ ู„ู… ุฃุชู‚ู† ูˆุงุญุฏุฉ)"
"ุงู„ุฅุฏู…ุงู† ููŠ ุงู„ู…ู‡ุงู…"
"ุฃูุถู„ ุงู„ู…ู‡ุงู… ุŒ ูƒู…ุง ู‡ูˆ ุงู„ุญุงู„ ุฏุงุฆู…ู‹ุง"

ู†ู†ุดุฑ ุŒ ูƒู…ุง ูˆุนุฏุช ุŒ ุญู„ูˆู„ ู…ูุตู„ุฉ. ุฃุฎุฑุฌูˆู‡ุง ุชุญุช ุงู„ู…ูุณุฏ ุญุชู‰ ูŠุชู…ูƒู† ุฃูˆู„ุฆูƒ ุงู„ุฐูŠู† ูุงุชู‡ู… ุงู„ู…ุคุชู…ุฑ ู…ู† ุชุฌุฑุจุฉ ุฃูŠุฏูŠู‡ู….



ุงู„ู…ู‡ู…ุฉ 1


ู‚ุจู„ ุซู„ุงุซุฉ ุฃุดู‡ุฑ ุŒ ูƒุชุจู†ุง ู‡ุฐู‡ ุงู„ู…ู‡ู…ุฉ ุŒ ูˆู„ูƒู† ููŠ ุฃูƒุชูˆุจุฑ 2018 ุŒ ุฌุงุก ุงู„ุฑุฆูŠุณ ุจู…ุจุงุฏุฑุฉ ู„ุฅู„ุบุงุก ุชุฌุฑูŠู… 282 ู…ู‚ุงู„ุฉ ุŒ ูˆู†ุญู† ุณุนุฏุงุก ู„ู„ุบุงูŠุฉ ุจู‡ุง ุŒ ู„ูƒู†ู†ุง ูƒู†ุง ู‚ู„ู‚ูŠู† ู„ุฅุนุงุฏุฉ ุตูŠุงุบุฉ ุงู„ู†ุตูˆุต. ู„ุฐุง ุฏุน ูƒู„ ุดูŠุก ูŠุจู‚ู‰ ููŠ ู‡ุฐู‡ ุงู„ู…ู‡ู…ุฉ ูƒู…ุง ูƒุงู†. *

ูŠุฑุงู‚ุจ ุงู„ู…ุฑูƒุฒ ุนู„ู‰ ุญุฑู ูˆุถุน ุงู„ู…ูŠู…ุงุช ุงู„ู…ุณูŠุฆุฉ ุŒ ูˆูƒุฐู„ูƒ ุฃู…ุซุงู„ู‡ู… ูˆุฅุนุงุฏุฉ ุงู„ู†ุดุฑ ุนู„ู‰ ุงู„ุดุจูƒุงุช ุงู„ุงุฌุชู…ุงุนูŠุฉ. ูƒุฌุฒุก ู…ู† ุงู„ุชุญูˆู„ ุงู„ุฑู‚ู…ูŠ ุŒ ุชู… ุงุณุชุจุฏุงู„ ู…ูƒุชุจ ู‚ุณู… ุงู„ู…ุฑุงู‚ุจุฉ ุจุฃูƒู…ู„ู‡ ุจุงู„ุฐูƒุงุก ุงู„ุงุตุทู†ุงุนูŠ. ุณุงุนุฏ ุงู„ุงุจุชูƒุงุฑ ุนู„ู‰ ุญุณุงุจ ุงุญุชู…ุงู„ูŠุฉ ุชุญูˆู„ ุงู„ู…ุณุชุฎุฏู…ูŠู† ู…ู† ุงู„ุฅุนุฌุงุจุงุช ุฅู„ู‰ ุนู…ู„ูŠุงุช ุฅุนุงุฏุฉ ุงู„ู†ุดุฑ ุจุณุฑุนุฉ ู…ู† ุฃุฌู„ ุนุฑุถ ุงู„ู‚ุถูŠุฉ ุนู„ู‰ ุงู„ู…ุญูƒู…ุฉ ุจู†ุฌุงุญ. ุณุงุจู‚ู‹ุง ุŒ ุตุฏุฑ ุญูƒู… ุฅุฏุงู†ุฉ ู…ู† ุญุฑู ูˆุงุญุฏ ุจุงุญุชู…ุงู„ 90ูช ููŠ 192 ูŠูˆู…ู‹ุง. ุฌู„ุจุช ุฃุชู…ุชุฉ ุงู„ุนู…ู„ูŠุฉ ุงู„ู…ุคุดุฑุงุช ุฅู„ู‰ 12 ูŠูˆู…ู‹ุง ุจุงุญุชู…ุงู„ 99.9ูช.

ุณุคุงู„: ูƒู… ู…ุฑุฉ ุฃุฏู‰ ุงู„ู†ู‡ุฌ ุงู„ู…ุจุชูƒุฑ ุฅู„ู‰ ุฒูŠุงุฏุฉ ุชุญูˆูŠู„ ุงู„ู…ุฐูƒุฑุงุช ุฅู„ู‰ ุฅุฏุงู†ุงุช ุจู…ู‚ุฏุงุฑ 282 ุŒ ุฅุฐุง ูƒุงู† ู„ุชูˆุงุชุฑ ุงู„ุฌู…ู„ ุชูˆุฒูŠุน ุฃุณูŠุŸ

ุญู„ ุงู„ู…ุดูƒู„ุฉ 1
* ุจุนุฏ ุชุณู…ูŠุฉ ุนุฑูˆุถ ุงู„ุฃุณุนุงุฑ ูˆุงู„ุนู…ู„ ููŠ ูƒุดูƒ ุงู„ู…ุคู„ู ุŒ ูŠู…ูƒู†ูƒ ุงู„ุญุตูˆู„ ุนู„ู‰ ู‡ุฏูŠุฉ ุนู„ู‰ ุงู„ููˆุฑ. ุทุจุนุง ู‡ุฐุง ูŠูˆุฑูŠ ุฎูˆูŠ (ูƒู„ูŠู†ุณูƒูŠ) ูˆ "ู‚ุทุงุน ุงู„ุบุงุฒ" ูˆ ู…ุถู…ุงุฑ "ุจู„ุง ู…ุฃูˆู‰"

ุญุณุจ ุงู„ุญุงู„ุฉ ุงู„ุฃูˆู„ูŠุฉ ู…ู†ุฐ ุฐู„ูƒ ุงู„ุญูŠู† ุชูˆุงุชุฑ ุงู„ุฌู…ู„ ู„ู‡ ุชูˆุฒูŠุน ุฃุณูŠ ุŒ ุซู… ู‚ุจู„ ุฅุฏุฎุงู„ ุงู„ุฑูˆุจูˆุช ูˆุจุนุฏ ุฃู† ูŠูƒูˆู† ู„ุฏูŠู†ุง ุงู„ุนุจุงุฑุงุช ุงู„ุชุงู„ูŠุฉ ู„ุชู‚ูŠูŠู… ุงุญุชู…ุงู„ูŠุฉ ุงู„ู†ุทู‚ ุจุงู„ุญูƒู… ููŠ ุงู„ูˆู‚ุช ุงู„ู…ู†ุงุณุจ:

F1(t)=1โˆ’eโˆ’ lambda1โˆ—tF2(t)=1โˆ’eโˆ’ lambda2โˆ—t

ุฃูŠู†  lambda1ุŒ lambda2 - ู‡ุฐู‡ ู…ุนู„ู…ุงุช ุบูŠุฑ ู…ุนุฑูˆูุฉ ุชุญุฏุฏ ุชูˆุงุชุฑ ุงู„ุฌู…ู„ ุŒ t ู‡ูŠ ู…ุนู„ู…ุฉ ุงู„ูˆู‚ุช ุŒ ูˆูู‚ู‹ุง ู„ู„ุดุฑุท ุงู„ุฐูŠ ูŠุชุถุญ ุฃู†ู‡:

F_1 (192) = 0.9 \\ F_2 (12) = 0.999 ุฏูˆู„ุงุฑู‹ุง

ู…ู† ู‡ุฐู‡ ุงู„ู…ุนุงุฏู„ุงุช ูŠุชู… ุงู„ุชุนุจูŠุฑ ุนู† ุงู„ู…ุนู„ู…ุงุช ุจุณู‡ูˆู„ุฉ ูƒุจูŠุฑุฉ  lambda1ุŒ lambda2

 lambda1=โˆ’ ln(1โˆ’0.9)/192 sim=0.012 lambda2=โˆ’ ln(1โˆ’0.999)/12 sim=0.576

ู…ู† ุงู„ุงูุชุฑุงุถ ุฃู† ุนุฏุฏ ุงู„ุฌู…ู„ ูˆุนุฏุฏ ุงู„ู…ุฐูƒุฑุงุช ู…ุฑุชุจุทุงู† ุฎุทูŠุงู‹ ุŒ ูŠู…ูƒู†ู†ุง ุฃู† ู†ุณุชู†ุชุฌ ุฃู† ุงู„ู†ุณุจุฉ  lambda1ุŒ lambda2 ูู‚ุท ูŠุนุทูŠ ุงู„ู‚ูŠู…ุฉ ุงู„ู…ุทู„ูˆุจุฉ:

 lambda2/ lambda1 sim=48




ุงู„ู…ู‡ู…ุฉ 2


ู…ู† ูˆุฌู‡ุฉ ู†ุธุฑ ุงู„ุจูˆุฐูŠ ูุงุณูŠู„ูŠ ุŒ ูŠุนุฏ ุงู„ุฑู…ุฒ ู…ุซุงู„ูŠู‹ุง ู„ูŠุณ ุนู†ุฏู…ุง ู„ุง ูŠูˆุฌุฏ ุดูŠุก ูŠู…ูƒู† ุฅุถุงูุชู‡ ุฅู„ูŠู‡ ุŒ ูˆู„ูƒู† ุนู†ุฏู…ุง ู„ุง ูŠู…ูƒู† ุฅุฒุงู„ุฉ ุฃูŠ ุดูŠุก. ุจุฏุงูุน ู…ู† ู‡ุฐู‡ ุงู„ููƒุฑุฉ ุŒ ู‚ุฑุฑ Vasily ุชุญุณูŠู† EpsilonGC ูˆูƒุดู ู„ู„ุนุงู„ู… Dzen-GC - ู…ู†ุชุฌ ู…ู† ุงู„ููƒุฑ ุงู„ู…ุซุงู„ูŠ ุงู„ุฐูŠ ู„ุง ูŠู…ูƒู† ูู‚ุท ู…ุณุญ ุฐุงูƒุฑุฉ ูƒูˆู…ุฉ ุงู„ุฐุงูƒุฑุฉ ุงู„ู…ุคู‚ุชุฉ ุŒ ูˆู„ูƒู† ุญุชู‰ ู„ุง ูŠุณู…ุญ ุจุชุฎุตูŠุตู‡ุง. ู…ู† ุงู„ูˆุงุถุญ ุฃู† ุงู„ุชุฎุตูŠุต ููŠ JVM ู…ุน ู‡ุฐุง GC ุงู„ู…ุจุชูƒุฑ ู…ู…ูƒู† ูู‚ุท ุนู„ู‰ ุงู„ู…ูƒุฏุณ ูˆูู‚ุท ู„ู„ุฃู†ูˆุงุน ุงู„ุจุฏุงุฆูŠุฉ.

ู„ุงุฎุชุจุงุฑ ุงู„ูˆุธูŠูุฉ ุงู„ุฌุฏูŠุฏุฉ ุŒ ู‚ุฑุฑ Vasily ูƒุชุงุจุฉ ุฏุงู„ุฉ ููŠ Java ุชุนุซุฑ ุนู„ู‰ ูˆุถุน ู„ู€ 6 ู‚ูŠู… (ุงู„ูˆุถุน ู‡ูˆ ุงู„ู‚ูŠู…ุฉ ููŠ ู…ุฌู…ูˆุนุฉ ุงู„ู…ู„ุงุญุธุงุช ุงู„ุชูŠ ุชุญุฏุซ ููŠ ุฃุบู„ุจ ุงู„ุฃุญูŠุงู†) ุŒ ุฃูŠ ุฃู†ู‡ ูŠุญุชูˆูŠ ุนู„ู‰ ุงู„ุชูˆู‚ูŠุน ุงู„ุชุงู„ูŠ:

public static int mode(int n0, int n1, int n2, int n3, int n4, int n5) 

ู„ู„ุงู‚ุชุฑุงุจ ู…ู† ุงู„ุชู†ูˆูŠุฑ ุŒ ู„ู… ูŠุนู„ู† Vasily ุนู† ู…ุชุบูŠุฑุงุช ูˆุฃุณุงู„ูŠุจ ู…ุญู„ูŠุฉ ุฅุถุงููŠุฉ ููŠ ุฑู…ุฒู‡ ุŒ ูƒู…ุง ุชู…ุช ุจุฑู…ุฌุชู‡ ูู‚ุท ุจุฅุตุจุน ู‚ุฏู…ู‡ ุงู„ูŠุณุฑู‰ ุงู„ุตุบูŠุฑุฉ.

ุงู„ู…ู‡ู…ุฉ: ู…ุณุงุนุฏุฉ ูุงุณูŠู„ูŠ ููŠ ุชู†ููŠุฐ ู‡ุฐู‡ ุงู„ูˆุธูŠูุฉ (ูŠูุณู…ุญ ุจุงุณุชุฎุฏุงู… ุฌู…ูŠุน ุงู„ุฃุตุงุจุน).

ุญู„ ุงู„ู…ุดูƒู„ุฉ 2
ุฏุนูˆู†ุง ู†ุญุงูˆู„ ู…ุนุฑูุฉ ูƒูŠู ูŠู…ูƒู† ุญู„ ู‡ุฐู‡ ุงู„ู…ุดูƒู„ุฉ ุฅุฐุง ู„ู… ุชูƒู† ู‡ู†ุงูƒ ู…ุซู„ ู‡ุฐู‡ ุงู„ู‚ูŠูˆุฏ ุงู„ุตุงุฑู…ุฉ. ูู‚ุท ู‚ู„ ุฃู† ุงู„ู‚ูŠู… ุชู… ู†ู‚ู„ู‡ุง ููŠ ู…ุตููˆูุฉ ุŒ ูˆู…ู† ุงู„ู…ุณุชุญุณู† ุนุฏู… ุงุณุชุฎุฏุงู… ุงู„ุฐุงูƒุฑุฉ ุงู„ุฅุถุงููŠุฉ (ูˆู„ูƒู† ุงู„ู‚ู„ูŠู„ ู…ู…ูƒู†).

ุซู… ุณู†ู„ุงุญุธ ุงู„ุฎูŠุงุฑุงุช ุงู„ุชูŠ ุชุณุชุฎุฏู… Map <IntegerุŒ Integer> ุŒ ูˆุณู†ู„ุงุญุธ ุฃู† ุงู„ูˆุถุน ู‡ูˆ ุงู„ุฃูƒุซุฑ ู…ู„ุงุกู…ุฉ ู„ู„ุจุญุซ ุนู†ู‡ ููŠ ู…ุตููˆูุฉ ู…ุฑุชุจุฉ: ุฅุฐุง ุชูƒุฑุฑุช ุงู„ู‚ูŠู…ุฉ ุŒ ูุณุชูƒูˆู† ุฌู…ูŠุน ุงู„ุชูƒุฑุงุฑุงุช ู‚ุฑูŠุจุฉ. ู†ู‚ูˆู… ุจูุฑุฒ ุงู„ุตููŠู ูˆุจู…ุฑูˆุฑ ูˆุงุญุฏ (ูˆู…ุชุบูŠุฑูŠู†) ู†ุฌุฏ ุงู„ู‚ูŠู…ุฉ ู…ุน ุงู„ุญุฏ ุงู„ุฃู‚ุตู‰ ู„ุนุฏุฏ ุงู„ุชูƒุฑุงุฑ.

ู„ุงุญุธ ุงู„ุขู† ุฃู†:

1) ูŠู…ูƒู†ูƒ ูุฑุฒ ุงู„ู‚ูŠู… ุจุดูƒู„ ู…ุชูƒุฑุฑ.

 // Expectation: if there are more than one mode, we are free to return any of them. // 2,2,3,3,4,4 has 3 modes : 2,3,4. I expect that 3 is correct answer. public static int mode (int a, int b, int c, int d, int e, int f){ // If arguments are not sorted, let's sort them with bubble sort :) if (a > b) return mode(b,a,c,d,e,f); if (b > c) return mode(a,c,b,d,e,f); if (c > d) return mode(a,b,d,c,e,f); if (d > e) return mode(a,b,c,e,d,f); if (e > f) return mode(a,b,c,d,f,e); 


2) ู„ุฏูŠู†ุง 6 ู‚ูŠู… ูู‚ุท.
3) ุฅุฐุง ุชู… ุชูƒุฑุงุฑ ุงู„ู‚ูŠู…ุฉ 3 ู…ุฑุงุช (ู†ุตู ุฌู…ูŠุน ุงู„ู‚ูŠู…) - ูู‡ุฐุง ุจุงู„ูุนู„ ุชุนุฏูŠู„!
3.1) ุฅุฐุง ู„ู… ูŠูƒู† ูƒุฐู„ูƒ ุŒ ูˆู„ูƒู† ู‡ู†ุงูƒ ุชูƒุฑุงุฑุงู† - ูู‡ุฐุง ู‡ูˆ ุงู„ุชุนุฏูŠู„!
3.2) ุฅุฐุง ู„ู… ุชูƒู† ู‡ู†ุงูƒ ู‚ูŠู… ู…ูƒุฑุฑุฉ ุŒ ูุฅู† ุฃูŠ ู‚ูŠู…ุฉ ู‡ูŠ ูˆุถุน.

 // Check for mode with 3+ repeats. 3 repeats is enough to say value is a mode (3 is half of 6). // Since args are sorted, a == b && b == c is the same as a == c; if (a == c) return a; if (b == d) return b; if (c == e) return c; if (d == f) return d; // Check for 2 repeats. if (a == b) return a; if (b == c) return b; if (c == d) return c; if (d == e) return d; if (e == f) return e; return f; } 


ุจุงู„ู…ุนู†ู‰ ุงู„ุฏู‚ูŠู‚ ู„ู„ูƒู„ู…ุฉ ุŒ ูŠู…ูƒู† ุฃู† ูŠูƒูˆู† ู„ู„ู…ุดูƒู„ุฉ ุงู„ุนุฏูŠุฏ ู…ู† ุงู„ุญู„ูˆู„ ุŒ ู„ูƒู†ู†ุง ุฃุญุจุจู†ุงู‡ุง ูƒุฃุจุณุท ุงู„ุญู„ูˆู„ ูˆุฃูƒุซุฑู‡ุง ุงู†ุณุฌุงู…ู‹ุง.



ุงู„ู…ู‡ู…ุฉ 3


ู‚ุฑุฑ ุงุซู†ุงู† ู…ู† ู…ุฏู…ู†ูŠ ุงู„ู…ุฎุฏุฑุงุช ุงู„ุฎุฑูˆุฌ ู…ู† ุงู„ู…ุตููˆูุฉ ูˆูู‡ู… ุฃูŠ ู…ู†ู‡ู… ูƒุงู† ุงู„ู…ุฎุชุงุฑ. ู„ู„ู‚ูŠุงู… ุจุฐู„ูƒ ุŒ ุญุตู„ูˆุง ุนู„ู‰ ุนุจูˆุฉ ูˆุงุญุฏุฉ ุฒุฑู‚ุงุก ูˆ 4 ุนุจูˆุงุช ุญุจูˆุจ ุญู…ุฑุงุก (ุนุจูˆุงุช ุจู†ูุณ ุงู„ุญุฌู…) ุŒ ูˆู„ุชุญุณูŠู† ุงู„ุชุฃุซูŠุฑ ุŒ ู‚ุฑุฑูˆุง ุดุฑุจู‡ุง ุจุงู„ู„ูˆู† ุงู„ุฃุฎุถุฑ.

ูุฌุฃุฉ ุŒ ุงุชุถุญ ุฃู†ู‡ ุจุณุจุจ ุฎู„ู„ ู…ุงุชุฑูŠูƒุณ (ูƒู…ุง ุงุนุชู‚ุฏ ู…ุฏู…ู†ูŠ ุงู„ู…ุฎุฏุฑุงุช) ุŒ ูุฅู† ูˆุฌูˆู‡ู‡ู… ุŒ ุงู„ุชูŠ ูƒุงู†ุช ุชุญุชูˆูŠ ููŠ ุงู„ุจุฏุงูŠุฉ ุนู„ู‰ ุฃู„ูˆุงู† RGB # 2D241D ูˆ # F4E3E1 ุŒ ุจุฏุฃุช ุชุชุบูŠุฑ ุงุนุชู…ุงุฏู‹ุง ุนู„ู‰ ุนุฏุฏ ุงู„ุฃุฌู‡ุฒุฉ ุงู„ู„ูˆุญูŠุฉ ูˆุงู„ุดุงูŠ ุงู„ุฃุฎุถุฑ ุงู„ู…ุณุชุฎุฏู…: ูƒู„ ู‚ุฑุต (ุฃูˆ 1 ู…ู„ ู…ู† ุงู„ุดุงูŠ ุงู„ุฃุฎุถุฑ) ุฒุงุฏ ุฎุทูŠุงู‹ ู…ู† ูƒู…ูŠุฉ ุงู„ู…ุทุงุจู‚ุฉ ุงู„ุฃู„ูˆุงู† ุนู„ู‰ ูˆุฌู‡ ุงู„ู…ุฏู…ู†.

ููŠ ุงู„ูˆู‚ุช ู†ูุณู‡ ุŒ ู„ุง ูŠู…ูƒู† ุฃู† ุชุชุฌุงูˆุฒ ู‚ูŠู…ุฉ ูƒู„ ู…ูƒูˆู† RGB #FF ุŒ ุฃูŠ ุฃู† ุงู„ุงุณุชุฎุฏุงู… ุงู„ุฅุถุงููŠ ู„ู„ุฃุฌู‡ุฒุฉ ุงู„ู„ูˆุญูŠุฉ ุฃูˆ ุงู„ู„ูˆู† ุงู„ุฃุฎุถุฑ ุงู„ู„ุงู…ุน ู„ู† ูŠูƒูˆู† ู„ู‡ ุฃูŠ ุชุฃุซูŠุฑ. ูƒุงู† ู„ุฏู‰ Zelenka ููŠ ุงู„ุจุฏุงูŠุฉ ุนุฏุฉ ู‚ูˆุงุฑูŠุฑ ูƒุงู…ู„ุฉ ู…ู† 20 ู…ู„ ู„ูƒู„ ู…ู†ู‡ุง ุŒ ู…ุฑุชูŠู† ููŠ ุงู„ู…ุฌู…ูˆุน ุฃู‚ู„ ู…ู† ุงู„ุนุฏุฏ ุงู„ุฅุฌู…ุงู„ูŠ ู„ู„ุฃู‚ุฑุงุต ููŠ ุงู„ู‚ุทุน. ุจุนุฏ ุญุฏุซ ุงู„ุฎุฑูˆุฌ ู…ู† ุงู„ู…ุตููˆูุฉ ุŒ ุญูŠุซ ุฃูƒู„ ุงู„ู…ุฏู…ู† ุงู„ุซุงู†ูŠ
54 ุญุจุฉ ุญู…ุฑุงุก ุฃูƒุซุฑ ู…ู† ุงู„ู…ุฏู…ู†ูŠู† ุงู„ุฃุฒุฑู‚ ุงู„ุฃูˆู„ ุŒ ู„ู… ูŠุจู‚ ู„ุฏูŠู‡ู… ุฃูŠ ุดูŠุก.

ุงู„ุณุคุงู„: ูƒู… ุนุฏุฏ ุงู„ุญุจูˆุจ ูˆุงู„ุนู…ู„ุฉ ุงู„ุฎุถุฑุงุก ุงู„ุชูŠ ุงุณุชุฎุฏู…ู‡ุง ูƒู„ ู…ุฏู…ู† ุŒ ุฅุฐุง ูƒุงู†ุช ูˆุฌูˆู‡ู‡ู… ู†ุชูŠุฌุฉ ู„ุฐู„ูƒ # F0FF6B ูˆ #FFFEFF ุŒ ุนู„ู‰ ุงู„ุชูˆุงู„ูŠ ุŒ ูˆู…ู† ุงู„ู…ุนุฑูˆู ุฃู† ุงู„ุฏูˆู„ุงุฑ ุฃู‚ูˆู‰ 3 ู…ุฑุงุช ู…ู† ุงู„ุญุจูˆุจ ุงู„ุญู…ุฑุงุก ุŒ ูˆุงู„ุชูŠ ุจุฏูˆุฑู‡ุง ุŒ ู…ุฑุชูŠู†
ุฃุถุนู ู…ู† ุงู„ุฃุฒุฑู‚ุŸ

ุญู„ ุงู„ู…ุดูƒู„ุฉ 3
ุจุงุฏุฆ ุฐูŠ ุจุฏุก ุŒ ุณู†ุฎุชุงุฑ ู…ู† ุจูŠู† ุงู„ู‚ูŠู… ุงู„ู†ู‡ุงุฆูŠุฉ ู„ู„ุฃู„ูˆุงู† ูู‚ุท ุชู„ูƒ ุงู„ุชูŠ ุชูƒูˆู† ุฃู‚ู„ ู…ู† 0xFF ุชู…ุงู…ู‹ุง ุŒ ู„ุฃู†ู‡ ุŒ ุญุณุจ ุงู„ุดุฑุท ุŒ ู„ู„ู‚ูŠู…ุฉ 0xFF ูŠู…ูƒู†ู†ุง ูู‚ุท ุฅุนุทุงุก ุงู„ุญุฏ ุงู„ุณูู„ูŠ ู„ู…ุญุณู† ุงู„ู„ูˆู† ุงู„ู…ุณุชุฎุฏู…. ู‡ุฐู‡ ู‡ูŠ ุงู„ู‚ูŠู… 0xF0 ูˆ 0x6B ูˆ 0xFE. ู†ุญุตู„ ุนู„ู‰ ุงู„ู…ุนุงุฏู„ุงุช ุงู„ุชุงู„ูŠุฉ:

r1โˆ—k=(0xF0โˆ’0x2D)=195b1โˆ—2k=(0x6Bโˆ’0x1D)=78g2โˆ—3k=(0xFEโˆ’0xE3)=27

ุฃูˆ

r1โˆ—k=195b1โˆ—k=39g2โˆ—k=9

ู‡ู†ุง ูƒ ู‡ูˆ ู…ุนุงู…ู„ ุนู…ู„ ุงู„ุญุจูˆุจ ุงู„ุญู…ุฑุงุก ุŒ col_i ุŒ col \ in \ {r ุŒ g ุŒ b \} ุŒ i \ in \ {1 ุŒ 2 \} - - ุนุฏุฏ ุงู„ู…ูƒุจุฑุงุช ุงู„ู…ุณุชุฎุฏู…ุฉ (ูŠุชู… ู‚ูŠุงุณ ุงู„ุฃุฌู‡ุฒุฉ ุงู„ู„ูˆุญูŠุฉ ุจุงู„ู‚ุทุน ุŒ ุงู„ุฃุฎุถุฑ - ุจุงู„ู…ู„ู„ูŠุชุฑุงุช) ู…ู† ุงู„ู„ูˆู† ุงู„ู…ู‚ุงุจู„ ู…ู† ู‚ุจู„ ุงู„ู…ุณุชู‡ู„ูƒ ุงู„ู…ู‚ุงุจู„. ุนู„ุงูˆุฉ ุนู„ู‰ ุฐู„ูƒ ุŒ ู†ุนู„ู… ุฃู† ุงู„ุซุงู†ูŠุฉ ุชู†ุงูˆู„ุช 54 ุญุจุฉ ุญู…ุฑุงุก ุฃูƒุซุฑ ู…ู† ุงู„ู„ูˆู† ุงู„ุฃุฒุฑู‚ ุงู„ุฃูˆู„ ุŒ ูƒู„ ุดูŠุก ุจุณูŠุท:

r2=54+b1

ูŠุชู… ุงู„ุญุตูˆู„ ุนู„ู‰ ู…ุนุงุฏู„ุฉ ุฃุฎุฑู‰ ู…ู† ุงู„ุดุฑุท ุนู„ู‰ ุงู„ู†ุณุจุฉ ุจูŠู† ุนุฏุฏ ุงู„ุฃู‚ุฑุงุต ูˆุงู„ู…ู„ูŠู„ุชุฑ ู…ู† ุงู„ู„ูˆู† ุงู„ุฃุฎุถุฑ:

2โˆ—(g1+g2)=(r1+b1+r2+b2)

ู„ุฏูŠู†ุง ุฃูŠุถู‹ุง ู…ู† ุงู„ู†ุณุจุฉ ุจูŠู† ุงู„ุฃุฌู‡ุฒุฉ ุงู„ู„ูˆุญูŠุฉ ุงู„ุญู…ุฑุงุก ูˆุงู„ุฒุฑู‚ุงุก:

(r1+r2)=4(b1+b2)

ุจุงู„ุฅุถุงูุฉ ุฅู„ู‰ ุฐู„ูƒ ุŒ ู†ุนู„ู… ุฃู†ู‡ ูƒุงู† ู‡ู†ุงูƒ ุนุฏุฉ ู…ุฑุงุช 20 ู…ู„ ู…ู† ุงู„ุนู…ู„ุฉ ุงู„ุฃู…ุฑูŠูƒูŠุฉ:

(g1+g2)=20z ุญูŠุซ z ุนุฏุฏ ุตุญูŠุญ ุบูŠุฑ ุณุงู„ุจ.

ู…ู† ุงูุชุฑุงุถ ุฃู† k ูƒุงู…ู„ุฉ ูˆุฃู† ุงู„ุญุจูˆุจ ุชุคูƒู„ ูƒุงู…ู„ุฉ (ูŠู…ูƒู†ูƒ ุดุฑุจ ุงู„ุฏูˆู„ุงุฑ ูƒู…ุง ุชุฑูŠุฏ) ุŒ ูุฅู† ุงู„ุฅุฌุงุจุฉ ุงู„ูˆุญูŠุฏุฉ ุงู„ุชูŠ ุชุชู†ุงุณุจ ู…ุน ู…ุง ูŠู„ูŠ:

r1=195g1=171b1=39

r2=93g2=9b2=33

ูŠู…ูƒู† ุงู„ุญุตูˆู„ ุนู„ูŠู‡ ุจุจุณุงุทุฉ ุดุฏูŠุฏุฉ ุŒ ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ ุŒ ู…ู† ุฎู„ุงู„ ุงู„ุทุฑูŠู‚ุฉ ุงู„ู…ูˆุถุญุฉ ุฃุฏู†ุงู‡.
ู„ุฏูŠู†ุง ู†ุณุจุฉ b1โˆ—k=39 . ุงู„ุชุทู„ุนุงุช ุงู„ูˆุญูŠุฏุฉ ู„ู€ 39 ู‡ูŠ {1 ุŒ 39} ุŒ {3 ุŒ 13}. ูˆุจุงู„ุชุงู„ูŠ ุŒ ูŠู…ูƒู† ุฃู† ุชุฃุฎุฐ k ู‚ูŠู…ู‹ุง ูู‚ุท ู…ู† ุงู„ู…ุฌู…ูˆุนุฉ {1 ุŒ 3 ุŒ 13 ุŒ 39}. ู„ู†ุฌุฑุจ ุงู„ู‚ูŠู…ุฉ "3".

r1=195/3=65ุŒb1=39/3=13ุŒg2=9/3=3ุŒr2=54+b1=54+13=67ุŒb2=((r1+r2)โˆ’4โˆ—b1)/4=(65+67โˆ’4โˆ—13)/4=20ุŒg1=((r1+b1+r2+b2)โˆ’2โˆ—g2)/2=(65+13+67+20โˆ’2โˆ—3)/2=79/2.

ู„ูƒู† ููŠ ู†ูุณ ุงู„ูˆู‚ุช g1+g2 ูŠุฌุจ ุฃู† ูŠูƒูˆู† ู…ุถุงุนูู‹ุง ู„ู€ 20 ุŒ ูˆู‡ุฐุง ู„ูŠุณ ุตุญูŠุญู‹ุง ู„ู„ู‚ูŠู…ุฉ (79.5 + 3).

ุจู†ูุณ ุงู„ุทุฑูŠู‚ุฉ ุชู…ุงู…ู‹ุง ูŠุชู… ุญุฐู ุงู„ู‚ูŠู… "13" ูˆ "39". ุงู„ู‚ูŠู…ุฉ ุงู„ูˆุญูŠุฏุฉ ุงู„ู…ุชุจู‚ูŠุฉ ู„ู€ k ู‡ูŠ ูˆุงุญุฏุฉ. ูˆุจุฏู„ุงู‹ ู…ู† ุฐู„ูƒ ุŒ ู„ุง ู†ุฃุชูŠ ุฅู„ู‰ ุชู†ุงู‚ุถุงุช ูˆู†ุญุตู„ ุนู„ู‰ ุฅุฌุงุจุฉ.

ููŠ ุงู„ูˆุงู‚ุน ุŒ ู†ุธุฑู‹ุง ู„ุฃู†ู‡ ู„ุง ูŠูˆุฌุฏ ุฃูŠ ู…ูƒุงู† ููŠ ุงู„ู…ุดูƒู„ุฉ ูŠู‚ุงู„ ุฃู† ู…ุนุงู…ู„ ุงู„ุฒูŠุงุฏุฉ ุงู„ุฎุทูŠุฉ k ู„ู…ูƒูˆู† RGB ุงู„ุฃุญู…ุฑ ู‡ูˆ ุนุฏุฏ ุตุญูŠุญ ุŒ ูุฅู† ุงู„ุญู„ูˆู„ ู‡ูŠ ุนุงุฆู„ุฉ ูƒุงู…ู„ุฉ ุŒ * ุญุชู‰ * ุฅุฐุง ุงูุชุฑุถู†ุง ุฃู† ุงู„ู„ูˆู† ุงู„ุฃุฎุถุฑ ูŠุณุชู‡ู„ูƒ ูู‚ุท ุจู…ุถุงุนูุงุช 1 ู…ู„ ุŒ ูˆูŠุชู… ุงุณุชู‡ู„ุงูƒ ุงู„ุฃุฌู‡ุฒุฉ ุงู„ู„ูˆุญูŠุฉ ุจุงู„ูƒุงู…ู„ (ูˆุงู„ุชูŠ ุฃูŠุถู‹ุง ุบูŠุฑ ู…ุญุฏุฏ ุจุดูƒู„ ู…ู†ูุตู„):

r1=1040n+195g1=732n+171b1=208n+39

r2=208n+93g2=48n+9b2=104n+33
n ุนุฏุฏ ุตุญูŠุญ ุบูŠุฑ ุณุงู„ุจ.

ู„ู„ุญุตูˆู„ ุนู„ู‰ ู‡ุฐู‡ ุงู„ุนุงุฆู„ุฉ ุŒ ุชุญุชุงุฌ ุฅู„ู‰ ุงู„ุชุฎู„ุต ู…ู† k ููŠ ุงู„ู…ุนุงุฏู„ุงุช ุงู„ุซู„ุงุซุฉ ุงู„ุฃูˆู„ู‰ ุนู† ุทุฑูŠู‚ ุฅุนุงุฏุฉ ูƒุชุงุจุชู‡ุง ุŒ ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ ุŒ ุนู„ู‰ ุงู„ู†ุญูˆ ุงู„ุชุงู„ูŠ:

3r1โˆ’15b1=0ุŒ3r1โˆ’65g2=0ุŒ15b1โˆ’65g2=0ุŒ

ุซู… ุญู„ ู†ุธุงู… ู…ุนุงุฏู„ุงุช ุฏูŠูˆูุงู†ุชูŠู† ุงู„ุฎุทูŠุฉ (ูˆุจุทุจูŠุนุฉ ุงู„ุญุงู„ ุŒ ุจู…ุง ููŠ ุฐู„ูƒ ุจู‚ูŠุฉ ุงู„ู…ุนุงุฏู„ุงุช ุงุฎุชุฒู„ุช ุฅู„ู‰ ุงู„ุดูƒู„ ุงู„ุตุญูŠุญ). ุฅุฐุง ู„ู… ู†ูุชุฑุถ ุฃู† ุงู„ู„ูˆู† ุงู„ุฃุฎุถุฑ ู„ุง ูŠุณุชู‡ู„ูƒ ุฅู„ุง ุจุฃุญุฌุงู… ู…ุถุงุนูุฉ ู…ู† ุงู„ู…ู„ูŠู„ุชุฑ ุŒ ูุฅู†ู†ุง ู†ุญุตู„ ุนู„ู‰ ู†ุธุงู… ุบูŠุฑ ุฎุทูŠ ู…ู† ู…ุนุงุฏู„ุงุช ุฏูŠูˆูุงู†ุชูŠู† ุŒ ู…ุน ุฃุฎุฐ g1 ูˆ g2 (ูˆุงู„ุฐูŠ ู…ู† ุงู„ูˆุงุถุญ ุฃู†ู‡ ูŠุฌุจ ุฃู† ูŠูƒูˆู† ุนู‚ู„ุงู†ูŠู‹ุง) ู„ูƒู„ ุงู„ุจุณุท ูˆุงู„ู…ู‚ุงู… ุบูŠุฑ ุงู„ู…ุนุฑูˆููŠู†. ุฅุฐุง ู‚ู…ู†ุง ุจุญู„ ุงู„ู…ุดูƒู„ุฉ ุจุดูƒู„ู‡ุง ุงู„ุฃุนู… (ูƒู„ ุงู„ู‚ูŠู… ู…ุณุชู…ุฑุฉ) ุŒ ูู‡ู†ุงูƒ ุงู„ู…ุฒูŠุฏ ู…ู† ุงู„ุญู„ูˆู„.

ุงู„ูุงุฆุฒูˆู†


ุตุญูŠุญ ุŒ ุชู… ุญู„ ุฌู…ูŠุน ุงู„ู…ู‡ุงู… ู…ู† ู‚ุจู„ ุฃู„ูŠูƒุณูŠ ุฑูŠุฌูŠูƒูˆู ูˆูุงู„ู†ุชูŠู† ุดูŠุจูŠู„ูˆู. ูƒู…ุง ุชู… ุงุณุชู„ุงู… ุงู„ุฌูˆุงุฆุฒ ู…ู† ู‚ุจู„ ุฃู„ูŠูƒุณูŠ ุฌุงู„ูƒูŠู† ูˆุฃู†ุทูˆู† ุจู„ูŠู†ูˆู ูˆุฅูŠู„ูŠุง ุจุฑูŠููˆุฒุชุดูŠูƒูˆู ูˆุงู„ุนุฏูŠุฏ ู…ู† ุงู„ู…ุดุงุฑูƒูŠู† ุงู„ุขุฎุฑูŠู†. ู…ุจุฑูˆูƒ!

Source: https://habr.com/ru/post/ar428369/


All Articles