Biz keyfi olarak büyük tamsayılar için bölüm uygulayacağız.
Bu kod golfü .
Görev, üzerlerine rastgele hassas tamsayılar ve Bölme uygulayan bir program veya işlev yazmaktır.
Bunu çok kolaylaştırabilecek birçok şeye izin verilmediğini unutmayın, lütfen teknik özellikleri okuduğunuzdan emin olun .
Giriş
Size girdi olarak 2 şey verilecek:
- 10 basamaklı bir dize diyelim
n. - 10 basamaklı başka bir dize diyelim
m
n>m>0Asla sıfıra bölmeniz istenmeyeceği anlamına gelir .
Çıktı
İki sayı çıkarırsınız Qve Rburada m * Q + R = n ve 0 <= R <m
Özellikler
Gönderiminiz keyfi olarak büyük tamsayılar için kullanılabilir olmalıdır (kullanılabilir bellekle sınırlıdır).
Sen olmayabilir dış kütüphane kullanmak. G / Ç için harici bir kütüphaneye ihtiyacınız varsa, bunu yerleşik olarak kabul edebilirsiniz. (iostream vb. şeylere bakmak).
Dilinizde bunu önemsizleştiren bir yerleşik varsa , onu kullanamayabilirsiniz. Bu, rastgele hassas tamsayıları işleyebilen yerleşik türleri içerir (ancak bunlarla sınırlı değildir).
Herhangi bir nedenden ötürü bir dil varsayılan olarak rastgele duyarlık tamsayıları kullanıyorsa, bu işlev genellikle 64 bitte saklanamayan tam sayıları temsil etmek için kullanılamaz.
Giriş ve çıkış taban 10 olmalıdır ZORUNLU . Sayıları bellekte nasıl sakladığınız ya da aritmetik işlemi nasıl yaptığınız önemli değildir, ancak G / Ç temel 10 olacaktır.
Sonuç almak için 15 saniyeniz var . Bu yinelenen çıkartmayı yasaklamak içindir.
Buradaki amaç, aslında keyfi hassas tamsayıları uygulamaktır. Herhangi bir nedenle meydan okuma özelliklerine uymayı ve bunları uygulamadan başarılı bir şekilde yapmayı başarabiliyorsanız, sanırım sizin için iyi, geçerli geliyor.
Test Durumları
- Bu durumda, girişler 39! ve 30!
Giriş
n = 20397882081197443358640281739902897356800000000
m = 265252859812191058636308480000000
Çıktı
Q = 76899763100160
R = 0
n50'ye kadar olan tüm faktörlerin toplamıdır, artı 1.m20'ye kadar sıralı sayılardır.
giriş
n = 31035053229546199656252032972759319953190362094566672920420940313
m = 1234567891011121314151617181920
çıktı
q = 25138393324103249083146424239449429
r = 62459510197626865203087816633
n205! + 200 !.mPeterTaylor'un sanal alana gönderdiğim şeyleri parçalayarak beni döken kaç gözyaşı.
Giriş
n = 271841734957981007420619769446411009306983931324177095509044302452019682761900886307931759877838550251114468516268739270368160832305944024022562873534438165159941045492295721222833276717171713647977188671055774220331117951120982666270758190446133158400369433755555593913760141099290463039666313245735358982466993720002701605636609796997120000000000000000000000000000000000000000000000000
m = 247
Çıktı
q = 1100573825740813795225181252819477770473619155158611722708681386445423816849801159141424129060075102231232666057768175183676764503262931271346408394876267875141461722640873365274628650676808557279259873162169126398101692109801549256156915750794061370041981513180387019893765753438422927286098434193260562682052606153857091520795991080960000000000000000000000000000000000000000000000000
r = 0;
Muhtemelen bir noktada daha fazla test örneği ekleyeceğim.