জাভা ( 131 59 57)
57 টি অক্ষর:
@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ এর পরামর্শ অনুসারে ^ এবং $ সরানো হয়েছে
boolean u(int n){return !(n+"").matches(".*(.).*\\1.*");}
59 টি অক্ষর (নেতিবাচক সংখ্যার সাথেও কাজ করে!):
boolean u(int n){return !(n+"").matches("^.*(.).*\\1.*$");}
79 78 অক্ষর (ধন্যবাদ @ n̴̖̋h̷͉a̷̭̿h̸̡̅ẗ̵̨d̷̰ĥ̷̳):
কয়েকটি পালক সংরক্ষণ করতে লুপের জন্য ব্যবহার করুন এবং বুলিয়ান অ্যারে হিসাবে ইন্ট ব্যবহার করুন।
1 টি অক্ষর সংরক্ষণ করতে && এর পরিবর্তে & ব্যবহার করুন (এটি দেখা যাচ্ছে যে জাভা এটির অনুমতি দেয়)।
boolean u(int n){for(int x=0;n>0&(x>>n%10&1)==0;n/=10)x|=1<<n%10;return n==0;}
১৩১ টি অক্ষর (negativeণাত্মক সংখ্যার জন্য সত্য প্রত্যাশা করে):
boolean u(int n){int[] p=new int[]{2,3,5,7,11,13,17,19,32,29};double a=9001312320D;while(n>0){a/=p[n%10];n/=10;}return (long)a==a;}
মন্তব্য সহ:
boolean unique(int n){
int[] p=new int[]{2,3,5,7,11,13,17,19,32,29};//list of 10 first primes
double a=9001312320D;//10 first primes multiplied
while(n>0){
a/=p[n%10];//divide by (n%10+1)th prime
n/=10;//divide n by 10, next digit
}
return (long)a==a;//if a is integer then n has all digits unique
}
এবং উত্তরটি প্রযুক্তিগতভাবে সঠিক (চরিত্রের গণনায় কেবল ফাংশন অন্তর্ভুক্ত থাকে, বৈশ্বিক ভেরিয়েবলগুলি নয়) তবে আমি মনে করি এটি প্রতারণা করছে, 29 টি অক্ষর:
boolean u(int i){return m[i];}
মি [] হ'ল বুলিয়ান অ্যারে যাতে সমস্ত 32-বিট পূর্ণসংখ্যার জন্য সঠিক উত্তর রয়েছে।