একটি ক্ষয়ক্ষতিতে শেষ অঙ্ক


14

এই কার্যে আপনাকে এ (10000 অঙ্কের চেয়ে কম দীর্ঘ) এবং বি দেওয়া হবে (2 ^ 64 এরও কম) এবং আপনাকে (A · A · A · ... · A (B বারের শেষ অঙ্কটি গণনা করতে হবে) ))।

ইনপুট এ এবং বি ফাঁকা দ্বারা পৃথক একক লাইনে দেওয়া হয়; ইনপুটগুলি ইওএফ দ্বারা বন্ধ করা হয়।

ইনপুট

34543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222345432323213232432424345445334453434324343111122234543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222345432323213232432424345445334453434324343111122234543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222 22337254775808
38758436543765743875437656358764347568437658743658743454354645645543532487548758475847684756897548758457843758437584758478574857438758436587436587436587643875643856783478743658743658764387564387564378658437658743658743687564387564387564765746576475647564756475465746574675647654765476547534587545689475689748574385743765874585743857843765893748643587438957458754376543265874387564384764367584375874758943267632487564357 54545454123
6777744348435743587643756438765436574587564354375674365645643675 23232    
3875843654376574357 54545454

আউটপুট

6
3
5
9

সীমাবদ্ধতাসমূহ

  • বি গুনতে কোনও ইনবিল্ট ফাংশন বা ওভারলোডেড অপারেটর ব্যবহার করবেন না (আপনার সত্যিই এটি গণনা করার দরকার নেই)।
  • সবচেয়ে কম সমাধানে জয়!

2
এ ** বি ব্যতীত অন্যান্য জিনিসগুলি গণনা করার জন্য কি ক্ষয়ক্ষতি অপারেটরটি ব্যবহারের অনুমতি দেওয়া হচ্ছে?
লোজ্যাকার

আমি অনুমান করি যে A এবং B উভয়ই নেতিবাচক?
আআআআআআআআআআআআআআআআআআআআআআআআআআআআআ

উত্তর:


9

জে - 52 অক্ষর

wd,.10|(^12+12&|)/"1(".@{:`".;._2@,&'x ');._2(1!:1)3

প্রদত্ত সমস্ত পরীক্ষায় উত্তীর্ণ হয়, যদিও কেবল তৃতীয় ইনপুটটিতে চলমান স্থানগুলি সরানো হয় (আমি অনুমান করছি এটি অনিচ্ছাকৃত ছিল)।

সমাধান j602 তে কনসোল মোডে কাজ করবে (যেমন টার্মিনাল, ইমাস্যাক জে-শেল ইত্যাদি)। এটি j701 (না wd) এ কাজ করবে না ।

ব্যাখ্যা এবং ম্যাথনিটিস:

'ম্যাজিক নম্বর' 12 অন্যান্য উত্তরগুলিতে পাওয়া "শেষ সংখ্যা" সারণীর দৈর্ঘ্যের LCM। সমস্ত অঙ্কগুলি 1,2,3 বা 4 পিরিয়ডের সাথে পুনরাবৃত্তি করে তাই 12 এর সাথে 12 বার পুনরাবৃত্তি করবে that বারের সাথে সংযোজনের ক্ষেত্রে কে বি বিড 12 = 0. আমার সলিউশন গণনা (এ এর শেষ সংখ্যা) 12 (12+ (বি মোড) 12)), একই শেষ সংখ্যা সহ একটি নম্বর দেওয়া। (আমি উদাহরণস্বরূপ বি মোড ৯৯ ব্যবহার করে তিনটি অক্ষর '12 + 'মুছে ফেলার একটি চঞ্চল ভাঙ্গা সমাধান হিসাবে বিবেচনা করেছি যেখানে কোনও উদাহরণের সংঘর্ষ হওয়ার সম্ভাবনা নেই ...)


6

পাইথন 125 107 চারস

ও (1) সমাধান

while 1:a,b=map(int,raw_input().split());d=1;exec"d*=a;"*(b%4);c=a%5and d%5;print b/~b+1or c+[0,5][c%2-a%2]

ভাল +1।
কুইসোটিক

6

গল্ফস্ক্রিপ্ট 21

~]2/{~.(4%)and?10%n}/

এটি মূলত গণনা করে যে A^C mod 10কোথায় সীমার মধ্যে রয়েছে [1,4]এবং C mod 4 = B mod 4বি 0 বাদে সিটি 0 হয়।

এই শর্টকাটটি সম্ভব কারণ A^(B+4) mod 10 = A^B mod 10কোনও অ-নেতিবাচক পূর্ণসংখ্যার এ এবং ধনাত্মক পূর্ণসংখ্যার বি for


5

জে, 79

,._2(4 :'10|x^(+y&(|~))x{10$1 1 4 4 2')/\x:".(]_1&{.`];._2~(' ',LF)e.~])(1!:1)3

বাহ যে কুৎসিত! এই ভাষাটি না শিখতে আমাকে মনে করিয়ে দিন। এটি সহ্য করার জন্য +1।
কালেব

5

রুবি, 97 93 72 71 67 61 60

কেস পরিচালনা করে যেখানে খ == 0।

#!ruby -nl
~/ /
p eval"#$`%10*"*($'>?0?($'.to_i-1)%4+1:0)+?1

অনুমান করুন এটি দেখার টেবিলটি ব্যবহার করা আসলে খারাপ।


এটি 2 5ইনপুট হিসাবে দেওয়ার ক্ষেত্রে আউটপুট হিসাবে 1 দেয় এবং উপরের নমুনা কেসগুলির জন্য এমনকি সঠিক আউটপুট দেয় না। ideone.com/2cOPy
fR0DDY

1
@ fR0DDY: এটি আমার সিস্টেমে পুরোপুরি কাজ করে, 1.9.2 এর সাথেও।
লোজ্যাকার

4

উইন্ডোজ পাওয়ারশেল, 85

ও (1) সমাধান। লোজ্যাকারের রুবি দ্রবণ থেকে একটি ইঙ্গিত নেওয়া ;-)

$input|%{$a,$b=-split$_
'0000111162481397646455556666179368421919'[4*$a[-1]%48+$b%4]}

3

পাইথন 149 চারস

p=[[0],[1],[6,2,4,8],[1,3,9],[6,4],[5],[6],[1,7,9,3],[6,8,4,2],[1,9]]
while 1:a,b=map(int,raw_input().split());print b/~b+1or p[a%10][b%len(p[a%10])]

3

পাইথন ( 119 134 109)

আমি বিশ্বাস করি অন্তর্নির্মিত ফাংশনগুলির বিরুদ্ধে নিষেধাজ্ঞার আই / ও প্রযোজ্য নয়।

আমদানি sys
পি = ল্যাম্বদা বি, ই: ই এবং পি (বি * বি% ১০, ই / ২) * (~ ই এবং 1 ই বি)% 10 ও 1
l in sys.stdin: p মুদ্রণ করুন (* মানচিত্র (int, l.split ()))

সম্পাদনা করুন: পাইথনের এক্সপেনশনেশন অপারেটরের ব্যবহার সরান।

সম্পাদনা করুন: টার্নারি অপারেটরগুলি শর্ট সার্কিটযুক্ত বুলিয়ান অপারেটরগুলির সাথে প্রতিস্থাপন করেছে।


হ্যাঁ ইনপুট নেওয়ার জন্য আপনি অবশ্যই I / O ফাংশন ব্যবহার করতে পারেন তবে এই কাজের জন্য আপনার '**' ব্যবহার করার কথা নয়।
কুইসোটিক

এটি যদিও কাজ করবে তবে একটি জন্তু-বাধ্যতামূলক মডুলার এক্সপেনসিয়েশন সমাধানের জন্য আমি এই কাজটি সত্যিই করতে চাইছি না, আসলে একটি ও (1) অ্যালগরিদম রয়েছে এবং এটি খুব সংক্ষেপে :-)
কুইসোটিক

2

পাইথন 3 কে

121 চারস

def p(a,b):
  if b<1:return 1
  return p(a*a%10,b//2)*[1,a][b%2]%10
while 1:
  a,b=map(int,input().split())
  print(p(a%10,b))

(a*a)%10প্রয়োজন নেই কিন্তু তা দ্রুত সম্পন্ন করা, তাই এটি রাখা করার সিদ্ধান্ত নিয়েছে।

সম্পাদনা: স্পষ্টতই, প্রথম বন্ধনীগুলির প্রয়োজন নেই।

এদিকে, O(1)সলিউশন নিয়ে ভাবছি । :)


EOF এর পরে লুপ ত্রুটি হবে না?
হোয়া লং ট্যাম

2

জাভাস্ক্রিপ্ট ( 117 84 79 60 অক্ষর)

@ জিমিনপি এবং @ ননইনইহির প্রস্তাবিত উন্নতিগুলি সহ 60 টি চর পৌঁছেছেন। ধন্যবাদ!

d = ফাংশন (গুলি, এন) {a = ম্যাথ.পাউ (গুলি [s দৈর্ঘ্য -1], n% 4 == 0? 1: n% 4) + ''; ফিরে আসুন [a.leight-1] }

d=(s,n)=>{return(Math.pow(s.slice(-1),n%4||1)+'').slice(-1)}

পরীক্ষা করার জন্য:

console.log(d('243242434544533445343432434311112223454323232132324324243454453344534343243431111222345432323213232432424345445334453434324343111122234543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222345432323213232432424345445334453434324343111122234543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222', 22337254775808));
console.log(d('38758436543765743875437656358764347568437658743658743454354645645543532487548758475847684756897548758457843758437584758478574857438758436587436587436587643875643856783478743658743658764387564387564378658437658743658743687564387564387564765746576475647564756475465746574675647654765476547534587545689475689748574385743765874585743857843765893748643587438957458754376543265874387564384764367584375874758943267632487564357', 54545454123));
console.log(d('6777744348435743587643756438765436574587564354375674365645643675', 23232));
console.log(d('3875843654376574357', 54545454));

ফলাফল:

2
3
5
9

1
d=function(s,n){return(Math.pow(s.slice(-1),n%4||1)+'').slice(-1)}: পি
জিমিনপি

1
আমি জাভাস্ক্রিপ্ট বেশি ব্যবহার করি না, তবে আপনি কি মোটেই ব্যবহার d=s,n=>(Math.pow(s.slice(-1),n%4||1)+'').slice(-1)বা ব্যবহার করতে পারবেন না =>?
NoOneIs এখানে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.