Recent Forum Posts

Looking for something?

Don't see a match? Post to the community

From categories:
page 1123...next »

Me: Hm…………. (5 years later)…………….. Good work!
You: Seriously?! THAT LONG?!

Meanwhile back in the ranch, great work! A+++++++


HaXIgwj.png Bio_Hazard1282

The constraints are a bit contradictory, but here's a routine originally from Cemetech. Details of the algorithm are in the linked thread.

  • Around 300 bytes
  • Optimized for speed (finance variables, precomputes things)
  • Takes 320 seconds for 400 digits, runs out of memory on my 84+ when trying to compute more. Could probably run to about 1020 digits on an 84+CE.
  • Compatible with the entire TI-83+ family
  • I have no idea what a "complicated command" is so I can't say whether this uses any.

The problem with most Pi calculation algorithms is memory requirement— it's a long time since I last looked them up, but IIRC most algorithms' memory requirement is linear in the input. This particular algorithm could be adapted to 2000 digits or so, but that would require constantly archiving and unarchiving lists and slow it down significantly. 2000 digits would take maybe a day.

ClrHome
CLASSIC
Prompt N
startTmr->T

10->B
Repeat M*27L^^2<|E12
    B-1->B
    ~int(~N/B)+1->S //number of batches
    10^B->M
    ~int(~BS/log(13.5))+3->L //2 extra terms for accuracy
End
Disp "M=10^(",B

seq(X,X,0,L->L6
5L6+3->L1                // representation of pi
27(L6^^2+L6)+6->L2      // denominators
2(L6+1)^^2-(L6+1)->L3   // numerators
DelVar L6
Disp "INIT TIME",checkTmr(T

For(X,0,S-1
    ~int(~L+BX/log(13.5))+1->dim(L1  //we only need this many terms
    L1M->L1
    0->FV
    For([recursiven],dim(L1),1,~1
        L1([recursiven])+FV*L3([recursiven]->PV
        int(PV/L2([recursiven]->FV
        PV-FVL2([recursiven]->L1([recursiven]
    End
    int(PV/M
    //Disp Ans
    PV-MAns->L1(1
End
Disp "NTH DIGIT = ",int(10fPart(int(PV/M)10^(N-B(S-1)-1
Disp "TIME",checkTmr(T

The standard routine for this is ~int(~Ans where ~ is the unary minus. int(Ans+not(not(fPart(Ans also works.

Also, your routine fails for any negative non-integer. iPart( rounds towards zero, int( rounds down.

Re: Ceiling program by lirtosiastlirtosiast, 18 Sep 2018 03:06

I don't have any conditions for this challenge, since they seem really formal to me and because I don't want to limit anyone.

Anyway the challenge is to take a number and round it up, like the Ceiling( command for the 68k calcs.

I was able to do it in one line but I couldn't reduce the number of bytes from my first attempt which was 8 both times.

Ceiling program by DeoxalDeoxal, 18 Sep 2018 02:30

I understood what he said to do, but I didn't get why he called it "decanting", which is why I linked to the definition.

Another point I would like to make is that even if you calculate PI using an algorithm, Ans only recalls the first 15 digits of it (As noticed when using the number-to-string routine. Even though it stores more digits than that, for example $10 ≠ 3(10/3)$. In the same way, $3.14159265358979 ≠ π$, even though it displays the same answer whether displaying $π$ or a calulated value for pi. Therefore, some sort of algorithm has to be used to calculate the nth digit directly, or calculate all the preceding digits individually.

Because of that limitation, the program will never be simple, fast for any value over certain N's, and will likely not be under 1000 bytes. Because of that, I am almost inclined to declare this challenge impossible.

Edit: Even if you stored as many digits of pi as are available in the 1000 bytes (978), that still would not be a valid program as it doesn't solve for all n'th digits of pi within the calculators limitations

But that isn't "compatible for ALL graphing calculators (With the Input command and other necessary commands)"

You don't need any of that. In MATHPRINT mode, you only need this one line:

sub("n/d",1,1->Str1

This will get you the empty box character. Note, n/d is the first fractional option in the alpha+f1 menu.

This is how:

  1. In MATHPRINT mode, type in a " then the carrot button.
  2. Press enter
  3. Create a new program and recall the answer.
  4. Get rid of the carrot and keep the empty box token.
  5. Store it into a string, and your done!

HaXIgwj.png Bio_Hazard1282

This is my first thread, please inform me if I have put it in the right place. Also, feel free to skip to the bullet points if you don’t want to read my story. Also also, the concepts in this post require MathPrint enabled calculators, so if you don’t have one, you are wasting your time here.

At one point in my ongoing, fascinating journey in TI-BASIC programming I realized that I could pretty my programs up with better characters. I started by making use of some characters in the statistics menu, particularly the x and y coordinate subvalues (x1, y1, and so forth). However, while these are useful, there are some characters that just seem hopeless to obtain. And in fact, many ASCII characters that are supported by TI calculators are not actually used anywhere in the OS, which means that they cannot be obtained without a computer. Yeah, you could write a fancy flash app or a painstakingly complicated assembly program, but at that point it doesn’t seem worth it anymore, and it almost feels like cheating on TI BASIC (which is just fine to do, but it usually takes more effort and is reasonably unfashionable). Anyway, here is a tricky method I came up with for “decanting” a particular character, as I call it, directly on the calculator, as well as a way to solve your character problems without the need of a third-party flash app or an outside assembly program.

The basic idea behind “decanting” is the lack of support for mathprint in string variables. The trick to decanting something is simple. You go to the home screen to enter something in. First, place a quote mark. Now, open up something like the fraction MathPrint option. You should see 2 dotted box outline characters, which means you should type something in. Not today, however! Leave them blank, and now place a quotation mark after it. Now, press enter. See how the MathPrint was converted to string format, but the empty box characters are still there? Paste your input into a new input on the home screen, but this time store it to a string variable. Now, enter a blank program, recall the string variable, and you can edit each character. Delete the bolded division sign that you will find, as well as one of the empty box characters, and you have now successfully isolated the empty box character with which you can do whatever you like! Store it to a string, output it as text, display it, whatever.

A neat way to get all of the supported characters on the calculator is through the computer. Open up the TI link software, and select the “write new program” option. Now type in whatever characters you want (provided they are supported) make the program store them to a string variable, and now send it to your calc. This works for all supported characters, but I have found that the empty box gives you an “invalid token” error, the same you would get with an unsupported character so, as far as I know, my decanting method is the only way to get it without the use of a flash app or assembly program. Hope you enjoyed!

You could use gossamer to browse the internet for the nth digit through your calculator

Basically, Trenly is trying to say that the digits of PI are so sporadic that it's difficult to deduce a simple pattern.




However, doing some research doesn't hurt.

EDIT: Reread the post and realized that my proposed method wouldn't work.

A guideline for contests like these are to solve it yourself first. That way you know there is at least one way to solve the problem.


pgLXa8

No, its supposed to be serious. Have you ever thought that the reason you haven't found one is because what you're asking for is nearly impossible?

Is that supposed to be funny? I'm laughing! Seriously, I tried to looks up a program like this, w/ no success…… rip.


HaXIgwj.png Bio_Hazard1282

Constraints:

  • Do something nearly impossible
  • Don't use any standard method of doing it
  • Keep a very complex task, simple
  • Keep it small

Constraints:

  • The user must type a real number indicating to find out the -nth digit of Pi
  • The program must be simple as possible
  • (OPTIONAL) the program can store the previous digits of Pi in a string (Begin string: "3.")
  • Do not use the command summation Σ. Or any other complicated commands
  • The easier the better
  • Make the calculations as fast as possible
  • Display the digit in Ans (obviously)
  • Make it compatible for ALL graphing calculators (With the Input command and other necessary commands)
  • ?<1000 bytes (extra credit <460)
  • SIMPLE calculations, no formulas

HaXIgwj.png Bio_Hazard1282

Oh….. oops, still funny?


HaXIgwj.png Bio_Hazard1282

I thought the lyrics were:

Our house, in the middle of our street

Re: Very funny endless loop by TrenlyTrenly, 17 Sep 2018 00:47
CLASSIC
ClrHome
Lbl 0
Pause "Our House,
Disp "In the middle of
Pause "our street:
Goto 0

From the famous song "Our house". Let me know what you think!

HaXIgwj.png Bio_Hazard1282
Very funny endless loop by Bio_Hazard1282Bio_Hazard1282, 17 Sep 2018 00:04
page 1123...next »