সাধারণ স্টেট বিক্রয় ট্যাক্স ক্যালকুলেটর


10

যুক্তরাষ্ট্রে বিক্রয় কর জটিল, কমপক্ষে বলতে গেলে। সাধারণত, একটি রাজ্য বিক্রয় ট্যাক্স রয়েছে (এমন কয়েকটি মুখ্য রাজ্য রয়েছে যা রাজ্য বিক্রয় কর আদায় করে না) তবে এখানে একটি কাউন্টি বিক্রয় কর, স্কুল জেলা বিক্রয় কর, পৌরসভা (শহর) বিক্রয় কর বা একটি হতে পারে মহানগর অঞ্চল বিক্রয় কর। এমনকি একটি শহরের বিভিন্ন অংশে বিভিন্ন বিক্রয় করও হতে পারে। এই চ্যালেঞ্জের উদ্দেশ্যে, তবে, আমরা কেবলমাত্র রাজ্য বিক্রয় করের দিকে মনোনিবেশ করব।

মার্কিন ডলারের পরিমাণ শূন্যের চেয়ে বেশি (দুটি দশমিক স্থানে সঠিক) এবং একটি রাষ্ট্র (পুরো নাম বা দ্বি-বর্ণের সংক্ষেপণ, আপনার পছন্দ, ক্ষেত্রে কোনও ব্যাপার নয়) এবং বিক্রয় করের শতাংশের নীচের চিত্রটি ব্যবহার করে, সেই নির্দিষ্ট বিক্রয়ের জন্য যথাযথ এবং দুটি দশমিক স্থানে ছাঁটাইয়ের জন্য প্রয়োজনীয় রাজ্য বিক্রয় কর সংগ্রহ করতে হবে output আপনার কোডটি কীভাবে পরিচালনা করে তা উল্লেখ করুন।

সম্পাদনা: ওয়াশিংটনের সংক্ষিপ্ত বিবরণ WA এর পরিবর্তে WS হিসাবে ভুলভাবে তালিকাভুক্ত করা হয়েছিল। উত্তরগুলি সংক্ষিপ্তসারটি ব্যবহার করতে পারে, কারণ এটি আমার বোকা।

State          Abbr   %
Alabama         AL  4.00%
Alaska          AK  0.00%
Arizona         AZ  5.60%
Arkansas        AR  6.50%
California      CA  6.00%
Colorado        CO  2.90%
Connecticut     CT  6.35%
Delaware        DE  0.00%
Florida         FL  6.00%
Georgia         GA  4.00%
Hawaii          HI  4.00%
Idaho           ID  6.00%
Illinois        IL  6.25%
Indiana         IN  7.00%
Iowa            IA  6.00%
Kansas          KS  6.50%
Kentucky        KY  6.00%
Louisiana       LA  5.00%
Maine           ME  5.50%
Maryland        MD  6.00%
Massachusetts   MA  6.25%
Michigan        MI  6.00%
Minnesota       MN  6.875%
Mississippi     MS  7.00%
Missouri        MO  4.23%
Montana         MT  0.00%
Nebraska        NE  5.50%
Nevada          NV  4.60%
New Hampshire   NH  0.00%
New Jersey      NJ  6.88%
New Mexico      NM  5.13%
New York        NY  4.00%
North Carolina  NC  4.75%
North Dakota    ND  5.00%
Ohio            OH  5.75%
Oklahoma        OK  4.50%
Oregon          OR  0.00%
Pennsylvania    PA  6.00%
Rhode Island    RI  7.00%
South Carolina  SC  6.00%
South Dakota    SD  4.50%
Tennessee       TN  7.00%
Texas           TX  6.25%
Utah            UT  4.70%
Vermont         VT  6.00%
Virginia        VA  4.30%
Washington      WA  6.50%
West Virginia   WV  6.00%
Wisconsin       WI  5.00%
Wyoming         WY  4.00%

ক্যালিফোর্নিয়ার জন্য 6% রাষ্ট্রীয় বিক্রয় করের উদাহরণ -

CA
1025.00

61.50

মিনেসোটার উদাহরণ 6.875% -

MN
123.45

8.49

14
inb4 গণিত অন্তর্নির্মিত।
জেমস 14

Minnesota MN 6.875%- কারণ .005% হ'ল, আসলে আসলে অনেক।
ম্যাজিক অক্টোপাস উর্ন

1
আহ্ ... ঠিক আছে ... এটি আয়কর নয়।
ম্যাজিক অক্টোপাস উরন

2
@ শেগি না, কেস কিছু যায় আসে না।
অ্যাডমবর্কবার্ক

2
পেডেন্ট্রি: ওয়াশিংটনের রাষ্ট্রীয় সংক্ষিপ্ত বিবরণ ডাব্লুএস নয়, ডাব্লুএস নয়।
মাইকেল সিফার্ট

উত্তর:


15

গণিত, 112 103 77 76 66 বাইট

ম্যাথামেটিকার প্রতিটি কিছুর জন্য একটি বিল্টিন রয়েছে

NumberForm[Interpreter["USState"][#]@"StateSalesTaxRate"#2,{9,2}]&

একটি রাষ্ট্রের নাম (যে কোনও বিন্যাস; সংক্ষেপণ বা পুরো নাম) এবং ডলারের পরিমাণ নেয়।

ওল্ফ্রাম স্যান্ডবক্সে এটি ব্যবহার করে দেখুন

ব্যবহার

f = NumberForm[Interpreter["USState"][#]@"StateSalesTaxRate"#2,{9,2}]&

 

f["CA", 1025.00]

61,50

f["miNnNesToA", 123.45]

8,49

ব্যাখ্যা

Interpreter["USState"][#]

ইনপুটটিকে মার্কিন যুক্তরাষ্ট্রের নাম হিসাবে ব্যাখ্যা করুন এবং একটি উত্পন্ন করুন Entity

... @"StateSalesTaxRate"

বিক্রয় করের হার পান।

... #2

দ্বিতীয় ইনপুট দ্বারা এটি গুণ করুন।

NumberForm[..., {9,2}]

দশমিকের বামে 9 অঙ্ক এবং ডানদিকে 2 সংখ্যা সহ ফলাফলকে একটি সংখ্যায় ফর্ম্যাট করুন।


6
ম্যাথামেটিকাল। অবশ্যই ...
ভেন

8
এটি এখন নিরীহ হয়ে উঠছে!
শেগি

142 তম সম্পত্তি পাওয়ার জন্য আপনার স্ট্রিংয়ের মতো দীর্ঘকালীন এপিআই কেন ব্যবহার করা দরকার?
নীল

11
এখানে একটি আধা-গুরুতর পেডেন্টিক পয়েন্ট রয়েছে। গণিত যে ক্রমাগত আপডেট করা ডেটাস্টোর থেকে তার আসল-শব্দ তথ্য উত্স দিয়েছিল, যখন কোনও নির্দিষ্ট রাজ্যের করের হার পরিবর্তন হয় তখন কী ঘটে? এই উত্তরটি কি প্রশ্নে প্রদত্ত বৈশিষ্ট্যের সাথে অবৈধ হয়ে যায় না?
ymbirtt


5

আর , 219 212 বাইট

function(S,m)sprintf("%.2f",c(4,0,5.6,6.5,6,2.9,6.35,0,6,4,4,6,6.25,7,6,6.5,6,5,5.5,6,6.25,6,6.875,7,4.23,0,5.5,4.6,0,6.88,5.13,4,4.75,5,5.75,4.5,0,6,7,6,4.5,7,6.25,4.7,6,4.3,6.5,6,5,4)[match(S,state.abb)]*m/100)

রাষ্ট্রকে একটি সংক্ষিপ্ত রূপ হিসাবে নেয় (সমস্ত ক্যাপ)।

state.abb বর্ণমালা অনুসারে রাষ্ট্রের সংক্ষিপ্তসার সহ বিল্টিন আর তথ্য, সুতরাং এটি বিক্রয় করকে হার্ডকোড করে, রাজ্যের সূচকটি সন্ধান করে, বিক্রয় করের গণনা করে, এবং 2 দশমিক স্থানে ফর্ম্যাট করে (স্ট্রিং হিসাবে আউটপুট)।

এটি অনলাইন চেষ্টা করুন!


5

05 এ বি 1 ই , 134 বাইট

.•2=Šλ₁ÙH ’€9¿FîβïLT_s€¤Ôтαxì8ÜuK8º'DιÒ—pcλ¯øÒÔ\’þü€ŒβÞéΣŽZê•#.å1kUX0‹i6*т/ëX•Ž½ì∞в’±₃C¸wiα·¥žYÉúžĆƵ˜šŸ‰Ê‡†Σgλ&/ûjDĆв₆•hR„AB„ .‡#è*т/}

এটি অনলাইন চেষ্টা করুন!


আরআইপি ম্যাথমেটিকা ​​জিতেছে।


এই সমস্তটি হ'ল নিম্নলিখিত স্ট্রিংগুলি সংকুচিত করে:

AKDEMTNHOR CO ALGANYHIWY MO VA SDOK NV UT NC LANDWI NM MENE AZ OH ILMATX CT ARKSWS MN NJ INMSRITN

এবং:

0 2.9 4 4.23 4.3 4.5 4.6 4.7 4.75 5 5.13 5.5 5.6 5.75 6.25 6.35 6.5 6.875 6.88 7

এরপরে ইনপুট রাজ্যের সূচকটি হারের সূচকটি নির্ধারণ করতে ব্যবহার করে 6 টি ডিফল্ট হয় কারণ 6% সহ অনেকগুলি রাজ্য রয়েছে।


অন্যদের গ্রাস করার জন্য:

AKDEMTNHOR 0
CO         2.9
ALGANYHIWY 4
MO         4.23
VA         4.3
SDOK       4.5
NV         4.6
UT         4.7
NC         4.75
LANDWI     5
NM         5.13
MENE       5.5
AZ         5.6
OH         5.75
CAFLIDIAKYMDMIPASCVTWV 6
ILMATX     6.25
CT         6.35
ARKSWS     6.5
MN         6.875
NJ         6.88

উল্লেখ্য এই শুধুমাত্র কাজ করে, কারণ আমি যেমন বলে যে, 2 রাজ্যের কোন ছেদ একটি ভিন্ন রাষ্ট্র ই জি (সৃষ্টি আদেশ OHINরয়েছে [OH,IN,HI]যেহেতু INOHশুধুমাত্র রয়েছে [IN,OH])


এর জন্য বেশিরভাগ ধারণাগুলি আমার পূর্ববর্তী রাষ্ট্র-ভিত্তিক প্রবেশ থেকে এসেছে ।


টিআইও লিঙ্কটিতে -dপতাকা রয়েছে
এইচপিউইজ

@ এইচপিউইজ এটি স্ট্যাকটি দেখার জন্য। আপনি যদি এটি অপসারণ করেন তবে আপনি প্রোগ্রামটির নিয়মিত আউটপুট দেখতে পাবেন।
মিঃ এক্সকোডার

@ এইচ.পি.উইজ এটি কেবল ভিজ্যুয়ালাইজেশনের উদ্দেশ্যে, এটি কমান্ড-বাই-কমান্ড নেয় এবং আপনাকে প্রোগ্রামটি কেন কাজ করে তা দেখতে দেয়।
ম্যাজিক অক্টোপাস উরন

আহ্, আমি ভেবেছিলাম ভুল করে ফেলে রেখেছি।
এইচপিউইজ

3

পাইথ, 270 258 233 219 বাইট

*c@[6Z5.75K6.25 5.5 5 4Z7 6.5J6 7J6.875 7 4J6.35Z6 7 5 4.75 4 4.23J5J5.13 4.6JJ4J4 4.3 4.5Z5.6J.5 4.7K4.5KZ6.5 6.88 5.5J2.9)xc."AZ-íâFT34r7²¨cK'ÉT?Ú5Ï)}4Që7ËÅÖpuªXTiÖ¶7×ì­Éͨ."2w100

এর মতো প্যারামিটারগুলি পাস করতে হবে:

1025
CA

ব্যাখ্যা:

*c@[...)xc."..."2w100
          ."..."       Decompress the string
         c      2      Cut the string in chunks of size 2 (states abbreviations)
        x        w     Get the index of the second parameter in that string
  @[    )              Index into the tax array
 c                100  Generate a percentage
*                      Multiply that with the implicit input at the end
Alas, `.Z` makes this longer. Maybe there's a way to write the array more efficiently, by repeating the keys, but I havn't found one yet.

@ মিঃ এক্সকোডারকে ধন্যবাদ।



1
195 অক্ষর, 219 বাইট: *c@[6Z5.75K6.25 5.5 5 4Z7 6.5J6 7J6.875 7 4J6.35Z6 7 5 4.75 4 4.23J5J5.13 4.6JJ4J4 4.3 4.5Z5.6J.5 4.7K4.5KZ6.5 6.88 5.5J2.9)xc."AZ-íâFT34r7²¨cK'ÉT?Ú5Ï)}4Që7ËÅÖpuªXTiÖ¶7×ì­Éͨ."2w100। এটি প্যাকযুক্ত স্ট্রিংগুলি ব্যবহার করে (যা দিয়ে এটি শুরু হয় .")
মিঃ এক্সকোডার

আমি কেবল .Zউপলব্ধ ছিল ভেবেছিলাম । আবার আপনাকে ধন্যবাদ ;-).
ভেন

3

জাভা (ওপেনজেডিকে 8) , 594 + 19 592 580 575 412 বাইট

s->a->{float[]r={0};java.util.Arrays.asList("AL4`AK0`AZ5.6`AR6.5`CA6`CO2.9`CT6.35`DE0`FL6`GA4`HI4`ID6`IL6.25`IN7`IA6`KS6.5`KY6`LA5`ME5.5`MD6`MA6.25`MI6`MN6.875`MS7`MO4.23`MT0`NE5.5`NV4.6`NH0`NJ6.88`NM5.13`NY4`NC4.75`ND5`OH5.75`OK4.5`OR0`PA6`RI7`SC6`SD4.5`TN7`TX6.25`UT4.7`VT6`VA4.3`WS6.5`WV6`WI5`WY4".split("`")).forEach(e->{if(e.contains(s))r[0]=a/100*new Float(e.substring(2));});return s.format("%.2f",r[0]);}

এটি অনলাইন চেষ্টা করুন!


1
আমদানি বিবৃতি Arraysহিসাবে সরাসরি সম্বোধন করে java.util.Arraysএবং মুক্তি পেয়ে আপনি 9 বাইট সংরক্ষণ করতে পারেন । আমি একটি টিআইও লিঙ্কটি অন্তর্ভুক্ত করব তবে এটি অনেক দীর্ঘ। : পি
সম্পূর্ণমানবিক

অপসারণ করে আপনি আরও কয়েকটি বাইট সংরক্ষণ করতে পারেন final; পরিবর্তন doubleকরার জন্য float; পরিবর্তন Double.parseDoubleকরার জন্য new Float; এবং কারিরিং ব্যবহার করে পরিবর্তন (s,a)->করা s->a->কীভাবে তা দেখতে টিআইও-লিঙ্কটি এখানে।
কেভিন ক্রুইজসেন

1
ওহ, এবং আপনি সমস্ত কমা এবং পিছনের শূন্যগুলি অপসারণ করতে এবং এতে পরিবর্তন substring(3)করতে পারেন substring(2): TIO 415 বাইট । এটি আমার জাভা উত্তরের চেয়ে ছোট ..;)
কেভিন ক্রুইজসেন

3

জাভা 8, 486 467 309 299 290 289 বাইট

s->a->{float r=6;for(String x:"AKDENHORMT0 CO2.9 ALGANYHIWY4 MO4.23 VA4.3 SDOK4.5 NV4.6 UT4.7 NC4.75 LANDWI5 NM5.13 MENE5.5 AZ5.6 OH5.75 ILMATX6.25 CT6.35 ARKSWS6.5 MN6.875 NJ6.88 MSRINTN7".split(" "))if(x.contains(s))r=new Float(x.replaceAll("[A-Z]",""));return s.format("%.2f",a*r/100);}

-19 বাইটস @ ম্যাজিকঅ্যাক্টোপাস ইউর্নকে ধন্যবাদ সেমিকোলনগুলি সরিয়ে ।

ব্যাখ্যা:

এখানে চেষ্টা করুন।

s->a->                    // Method with String and float parameters and String return-type
  float r=6;              //  Float starting at 6 (most states had 6.00 as tax)
  for(String x:"...".split(" "))
                          //  Loop over all states + amounts
    if(x.contains(s))     //   If the input-state is found in String `x`:
      r=new Float(x.replaceAll("[A-Z]",""));
                          //    Set float `r` to the amount of this state
                          //  End of loop (implicit / single-line body)
  return s.format("%.2f", //  Return result rounded to 2 decimal points:
     a*r/100);            //   Float input multiplied by `r` divided by 100
}                         // End of method

1
আপনি যদি আমার উত্তর থেকে ক্রমটি ব্যবহার করেন তবে আপনি আপনার স্ট্রিংয়ের সমস্ত সেমিকোলন সরিয়ে ফেলতে পারেন।
ম্যাজিক অক্টোপাস উরন

HI;NYএবং MT;NHবর্তমানে আপনার কোডের একমাত্র জিনিসগুলি আপনাকে সমস্ত আধা-কলোন অপসারণ থেকে বিরত করছে। উভয়ের ক্রমকে বিপরীত করুন এবং এটি 20 টি বাইট সংরক্ষণের মতো কাজ করবে।
ম্যাজিক অক্টোপাস উরন

1
@ ম্যাজিক অ্যাক্টপাস ইউরন ধন্যবাদ, সম্পাদিত! বিটিডব্লিউ, আপনি 7নিজের উত্তরের জন্য রাজ্যগুলিও যুক্ত করতে চাইতে পারেন (যদিও TNবর্তমানের ক্রমটিতে এটি হস্তক্ষেপ করে 0)।
কেভিন ক্রুইজসেন

@ ম্যাজিক অ্যাক্টপাস ইউরান INMSRITN 7.00এবং AKDENHORMT 0.00অন্য কোনও কিছুর সাথে বিরোধ না করেই সম্ভব।
কেভিন ক্রুইজসেন

2

পার্ল 6, 341 বাইট

my%a=((<ME NE>X=>5.5),CO=>2.9,MO=>4.23,MN=>6.875,NJ=>6.88,(<LA ND WI>X=>5),(<AK DE MT NH OR>X=>0),(<IN MS RI TN>X=>7),(<AR KS WS>X=>6.5),AZ=>5.6,(<AL GA HI NY WY>X=>4),VA=>4.3,UT=>4.7,(<IL MA TX>X=>6.25),(<CA FL ID IA KY MD MI PA SC VT WV>X=>6),(<OK SD>X=>4.5),NV=>4.6,NM=>5.13,CT=>6.35,OH=>5.75,NC=>4.75).flat;{round $^a*(%a{$^b}/100),0.01}

তো, হু আমার ধারণা, এটি বেশ স্বীকৃত। এটি পার্ল 6 এর মেটা-অপারেটরগুলি X=>এখানে ব্যবহার করে যা X(ক্রস পণ্য) একত্রিত combined=>

এর অর্থ <ME NE> X=> 5.5(যেখানে <ME NE>অর্থ ('ME', 'NE')) => 5.5অ্যারের প্রতিটি উপাদানগুলিতে প্রয়োগ হয়, ফলন দেয় ME => 5.5, NE => 5.5। প্রথম বন্ধনী এখানে কেবলমাত্র প্রাধান্যের জন্য ...


গল্ফার (এরম ...) হিসাবে, আমি স্পষ্টতই এটি এক হাতে লিখিনি (আসল ফাংশন ব্যতীত)। তাই আমি সবচেয়ে দক্ষ সংমিশ্রণটি তৈরি করতে একটি মেটা-গল্ফার লিখেছি!

my %values;
my %simple;
for lines() {
  my $abb = m/<[A .. Z]> ** 2/.Str;
  my $val = m/\d\.\d+/.Str;
  %values{$val}.push: $abb;
  %simple{$abb} = $val;
}

say "(", (join ',', do for %values.kv -> $key, @vals {
  my $int-key = +$key;
  if @vals > 1 {
    "(<{@vals}>X=>$int-key)"
  } else {
    "{@vals}=>$int-key"
  }
}), ").flat";

say();

say join ',', do for %simple.kv -> $key, $val {
  "$key=>" ~ +$val
}

এটি X=>কেস এবং আরও সহজ কেস উভয়ই উত্পন্ন করে (প্রত্যেককে গণনা করা হচ্ছে), এবং আমি সংক্ষিপ্ততমটিকে বেছে নিয়েছি (পূর্ববর্তীটি)।


2

জাভাস্ক্রিপ্ট (ES6), 227 224 বাইট

সংবাহন সিনট্যাক্স ইনপুট লাগে (s)(v)যেখানে গুলি রাষ্ট্র এবং V পরিমাণ। মেঝে বৃত্তাকার ব্যবহার।

s=>v=>(v*(p=s=>parseInt(s,36))('3344bk50k4mo28k4we4tm5eg3uw48s5az39i3js5b43yi3ny4fq3h03mk3bg'.substr(p('k039017k00038f00030022h00g000j00k600k080k707h30706800ba0030305ic0303303930460000e00d2'[p(s)*84%943%85])*3,3))/1e3|0)/100

ডেমো


1

কোটলিন , 444 বাইট

val S="0|AK|DE|MT|NH|OR#2.9|CO#4|AL|GA|HI|NY|WY#4.23|MO#4.3|VA#4.5|OK|SD#4.6|NV#4.7|UT#4.75|NC#5|LA|ND|WI#5.13|NM#5.5|ME|NE#5.6|AZ#5.75|OH#6|CA|FL|ID|IA|KY|MD|MI|PA|SC|VT|WV#6.25|IL|MA|TX#6.35|CT#6.5|AR|KS|WS#6.875|MN#6.88|NJ#7|IN|MS|RI|TN"
fun c(t:String,d:Double){
val m=mutableMapOf<String,Double>()
S.split("#").map{val s=it.split("|")
for (item in s.subList(1, s.size))m.put(item, s[0].toDouble())}
System.out.printf("%.2f", m[t]!!*d*.01)}

এটি অনলাইন চেষ্টা করুন!

শোভিত

// Tax rate followed by states with that rate separated by pipes, with hashes in between
val STATES="0|AK|DE|MT|NH|OR#2.9|CO#4|AL|GA|HI|NY|WY#4.23|MO#4.3|VA#4.5|OK|SD#4.6|NV#4.7|UT#4.75|NC#5|LA|ND|WI#5.13|NM#5.5|ME|NE#5.6|AZ#5.75|OH#6|CA|FL|ID|IA|KY|MD|MI|PA|SC|VT|WV#6.25|IL|MA|TX#6.35|CT#6.5|AR|KS|WS#6.875|MN#6.88|NJ#7|IN|MS|RI|TN"

fun function(targetState: String, amount: Double) {
    // Stores data
    val m = mutableMapOf<String, Double>()
    // For each rate
    STATES.split("#").map {
        // Split the data out
        val rateData = it.split("|")
        // For each state with that rate
        for (stateCode in rateData.subList(1, rateData.size)) {
            // Put it in the dataset
            m.put(stateCode, rateData[0].toDouble())
        }
    }

    // Print out the tax rate
    System.out.printf("%.2f", m[targetState]!! * amount * .01)
}

1

পাইথন 3 , 303 বাইট

import re
t=re.split("(\d+)","AL4AK0AZ56AR65CA6CO29CT635DE0FL6GA4HI4ID6IL625IN7IA6KS65KY6LA5ME55MD6MA625MI6MN6875MS7MO423MT0NE55NV46NH0NJ688NM513NY4NC475ND5OH575OK45OR0PA6RI7SC6SD45TN7TX625UT47VT6VA43WS65WV6WI5WY4")
f=lambda s,a:"%.2f"%({t[i-1]:float(t[i])/10**-~len(t[i])for i in range(1,len(t),2)}[s]*a)

এটি অনলাইন চেষ্টা করুন!

খুব সাধারণ: ডেটা দুটি অক্ষর হিসাবে + তালিকা হিসাবে তথ্য সংরক্ষণ করা হয়: প্রতিটি শতাংশ 10 এর চেয়ে কম হয়, সুতরাং এটি পূর্ণসংখ্যার অংশ (1 ডিজিট) + দশমিক অংশ (0 -... অঙ্ক (গুলি)) হিসাবে সংরক্ষণ করা যেতে পারে।


1

সি # , 318 309 বাইট


উপাত্ত

  • ইনপুট String s 2 অক্ষরের সংক্ষিপ্তসার রাষ্ট্রের বড় হাতের অক্ষর।
  • ইনপুট Double v মান
  • আউটপুট String করের মানটি 2 দশমিক স্থানে গোল করতে হবে

Golfed

(s,v)=>{for(int i=0;i<21;i++)if("NHAKDEMTOR,CO,ALHIGANYWY,MO,VA,SDOK,NV,UT,NC,NDLAWI,NM,MENE,AZ,OH,KYCAFLIDIAMDMIPASCVTWV,ILMATX,CT,ARKSWA,MN,NJ,MSINRITN".Split(',')[i].Contains(s))return $"{v*(new[]{0,2.9,4,4.23,4.3,4.5,4.6,4.7,4.75,5,5.13,5.5,5.6,5.75,6,6.25,6.35,6.5,6.875,6.88,7}[i]/100):F2}";return "";};

Ungolfed

( s, v ) => {
    for( int i = 0; i < 21; i++ )
        if( "NHAKDEMTOR,CO,ALHIGANYWY,MO,VA,SDOK,NV,UT,NC,NDLAWI,NM,MENE,AZ,OH,KYCAFLIDIAMDMIPASCVTWV,ILMATX,CT,ARKSWA,MN,NJ,MSINRITN".Split( ',' )[ i ].Contains( s ) )
            return $"{v * ( new[] { 0, 2.9, 4, 4.23, 4.3, 4.5, 4.6, 4.7, 4.75, 5, 5.13, 5.5, 5.6, 5.75, 6, 6.25, 6.35, 6.5, 6.875, 6.88, 7 }[ i ] / 100 ):F2}";
    return "";
};

অসম্পূর্ণ পাঠযোগ্য

// Takes a 2 letter abbreviation state ( 's' ) and a value ( 'v' )
( s, v ) => {

    // Cycles through an array with the states grouped by tax value
    for( int i = 0; i < 21; i++ )

        // Checks if the state group at the current index contains the state 's'
        if( "NHAKDEMTOR,CO,ALHIGANYWY,MO,VA,SDOK,NV,UT,NC,NDLAWI,NM,MENE,AZ,OH,KYCAFLIDIAMDMIPASCVTWV,ILMATX,CT,ARKSWA,MN,NJ,MSINRITN".Split( ',' )[ i ].Contains( s ) )

            // Returns the value 'v' * the corresponding state percentage divided by 100
            return $"{v * ( new[] { 0, 2.9, 4, 4.23, 4.3, 4.5, 4.6, 4.7, 4.75, 5, 5.13, 5.5, 5.6, 5.75, 6, 6.25, 6.35, 6.5, 6.875, 6.88, 7 }[ i ] / 100 ):F2}";

    // If the state isn't found, return an empty string
    return "";
};

সম্পূর্ণ কোড

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestBench {
    public static class Program {
        private static Func<String, Double, String> f = ( s, v ) => {
            for( int i = 0; i < 21; i++ )
                if( "NHAKDEMTOR,CO,ALHIGANYWY,MO,VA,SDOK,NV,UT,NC,NDLAWI,NM,MENE,AZ,OH,KYCAFLIDIAMDMIPASCVTWV,ILMATX,CT,ARKSWA,MN,NJ,MSINRITN".Split( ',' )[ i ].Contains( s ) )
                    return $"{v * ( new[] { 0, 2.9, 4, 4.23, 4.3, 4.5, 4.6, 4.7, 4.75, 5, 5.13, 5.5, 5.6, 5.75, 6, 6.25, 6.35, 6.5, 6.875, 6.88, 7 }[ i ] / 100 ):F2}";
            return "";
        };

        static void Main( string[] args ) {
            List<KeyValuePair<String, Double>>
                testCases = new List<KeyValuePair<String, Double>>() {
                    new KeyValuePair<String, Double>( "CA", 1025.0d ),
                    new KeyValuePair<String, Double>( "MN", 123.45d ),
                };

            foreach( KeyValuePair<String, Double> testCase in testCases ) {
                Console.WriteLine( $" STATE: {testCase.Key}\n VALUE: {testCase.Value}\nOUTPUT: {f( testCase.Key, testCase.Value )}\n" );
            }

            Console.ReadLine();
        }
    }
}

রিলিজ

  • v1.0 - 318 bytes- প্রাথমিক সমাধান।
  • v1.1 - - 9 bytes- .ToString("F2")প্রথম রিটার্নে ব্যবহৃত আন্তঃবিবাহিত স্ট্রিংগুলিতে পরিবর্তিত হয়েছে ।

মন্তব্য

  • না

0

এডাব্লুকে , 277 বাইট

{split("LANDWI 5 VA 4.3 IACAFLIDKYMDMIPASCVTWV 6 SDOK 4.5 MO 4.23 CO 2.9 NM 5.13 NV 4.6 UT 4.7 NJ 6.88 MENE 5.5 AZ 5.6 ARKSWA 6.5 MN 6.875 MSINRITN 7 ILMATX 6.25 NC 4.75 CT 6.35 ALGANYWYHI 4 OH 5.75 AKDEMTORNH 0",T)
for(i in T)if(T[i]~s=".*"$1".*")printf"%.2f\n",$2*T[i+1]*.01}

এটি অনলাইন চেষ্টা করুন!

একটি সম্মানজনক স্কোর, কিন্তু ম্যাথমেটিকার কাছাকাছি কোথাও নেই। আমি প্রতিটি চেকের পরে একটি নতুন লাইন প্রিন্ট দিয়ে 2 বাইট যুক্ত করেছি, তবে আমি মনে করি এটি সেভাবেই সুন্দর

(আশা করি এটি সুস্পষ্ট যে ইনপুটটি রাষ্ট্রের সংক্ষেপণ এবং এক লাইনের মান হওয়া উচিত))

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.