## Items tagged with length

Hi everybody,

Neither of these questions is vital but answers will be greatly appreciated

-------------------------------------------------------------------------------------------------
Question 1 :
Is it possible to manage programatically the character fonts in a printf command ?
(for instance to print some piece of text in bold font ... without selecting it and clicking the bold B of the toolbar)

-------------------------------------------------------------------------------------------------
Question 2 :

In order to have a nice render, I use to create my own format for printf command. For instance, when I have to “printf” some text I usually compute its length L and my “printf” format constructor contains a command  like  MyFormat := cat(“%”, L, “a”)

Unfortunately the length(…) command seems to be sensitive to accented characters :
For people not familiar with french, "dégénéré"  (note the acute accents) means "degenerate".
length(“dégénéré”) returns 12
length(“degenere”) returns 8
… which of course leads to a very inelegant render, which is all I wanted to avoid

Why does “length” behave this way ?
Is it possible to bypass this annoyance while ensuring “dégénéré” has length 8 ?

## Random walk problem...

I have made an algorithm for producing random walks (only possible to walk one step to either direction except downwards(EDIT: It is possible to go downwards, but it has to be when making a turn to the right or left). The walks are determined by the rand function:

R3:=rand(1..3): (1: go straight on; 2: turn right; 3: turn left)
M:=15; N:=1500;

Randwalk3:=proc(R3)
local i,j,r,X,Y,L;
for j from 1 to M do
X[0,j]:=0;                                # Initialization
Y[0,j]:=0;
X[1,j]:=1;                                # The first step should still be taken to the point (1,0)
Y[1,j]:=0;
for i from 2 to N do
r:=R3();
if r=1 then X[i,j]:=2*X[i-1,j]-X[i-2,j]; Y[i,j]:=2*Y[i-1,j]-Y[i-2,j];                   # go straight on
elif r=2 then X[i,j]:=X[i-1,j]+Y[i-1,j]-Y[i-2,j]; Y[i,j]:=Y[i-1,j]-X[i-1,j]+X[i-2,j];    # turn right
else X[i,j]:=X[i-1,j]-Y[i-1,j]+Y[i-2,j]; Y[i,j]:=Y[i-1,j]+X[i-1,j]-X[i-2,j];             # turn left
end if;
if (X[i,j]=X[j,j] and Y[i,j]=Y[j,j]) then L[j]:=i; break; end if; (This is wrong)
end do;
end do:
return [X,Y,L];
end proc:

The question from is like this:
Modify the algorithm such that it stops at r[i] if r[i] = r[j] for any 0 <= j <= i-2. r=(xi,yi). M is the number of random walks and N is the number of steps. The length of the paths should be stored in L[m] (m=1..M). How do I implement the if-test correctly?

## how do i find length?...

how i

Find the length of the curve in interval of x

## Describing the length of an equation...

My PhD involves generating equations that are very long, in some cases, more than 10 pages long.

For the reader its much more useful to have some of these equations described than presented. One of the descriptions I'd like to use is number of characters and intuitively the command Length feels like it should tell you the number of characters in an expr

However what is written on the help page for this function I don't understand:
https://www.maplesoft.com/support/help/maple/view.aspx?path=length

 For other objects, the length of each operand of expr is computed recursively and added to the number of words used to represent expr. In this way, the measure of the size of expr is returned.

then the example that is given is

 >length(x+2y) length(x+2y)
 99 (5)

Could anyone explain to me what is meant when it is said length(x+2y)=9? if I try an apply things recursively the expression with the most chatracters i can generate is "x+y+y"which is only 5 characters.

Is there another command that would be better suited to my purposes?

## Splitting strings into words...

>teksbiasa:=Hello!;

teksbiasa:=Hello!

>nilaiASCII:=convert(teksbiasa,bytes);

nilaiASCII:=[72,101,108,108,111,33]

>E:=nilaiASCII+~nops(nilaiASCII);

E:=[78,107,114,114,117,39]

Hi, how i need to modify my command so the length of each word can be detected if enter a sentence instead of 1 word ?

For example, if i entered >> Hello! Bob, so the length of each word is [6, 3], so what i need is

>teksbiasa:=Hello! Bob;

teksbiasa:=Hello! Bob

>nilaiASCII:=convert(teksbiasa,bytes);

nilaiASCII:=[72, 101, 108, 108, 111, 33, 32, 66, 111, 98]

and my E will be >> E:=[72+6, 101+6, 108+6, 108+6, 111+6, 33+6, 32, 66+3, 111+3, 98+3] which is >>

E:= [78, 107, 114, 114, 117, 39, 32, 69, 114, 101]

Thanks for help~=]]
Have a nice day~=]]

## Addition of number to list...

Here is my command

> teksbiasa:=Kriptografi;

teksbiasa:=Kriptografi

>len:=length(teksbiasa);

len:=11

>nilaiASCII:=convert(teksbiasa, bytes);

nilaiASCII:=[75,114,105,112,116,111,103,114,97,102,105]

>L:=[seq(i,i=nilaiASCII)]

L:=[75,114,105,112,116,111,103,114,97,102,105]

Anyone know how i need to write the command to add the lenght of the text (len) into each of the number in nilaiASCII?

What is want to get is:

[86,125,116,123,127,122,114,125,108,113,116]

Thank you~=]]

[75,114,105,112,116,111,103,114,97,102,105]

## Repeating sequence of decimal...

(Some) prime reciprocals have an interesting property. the repeating sequence has length p-1.

eg 7, has repeats after 6.

1/7=0.142857142857......

17 has repeats after 16

1/17=0.05882352941176470588235294117647059.........

of course some primes don''t have this property....

So what I need the experts here is for some code

myproc(17)=16, (and the sequence) 0588235294117647

my go:pinched from

http://199.71.183.11/questions/39621-Pattern-Matching-In-A-Sequence-Of-Digits

PriDigits := "" || (op(1, evalf(1/17, 50)));

reps := StringTools[Repeats](PriDigits);

lngth := seq(op(3, A), A in [reps]);

the leading 0 (which is part of the sequence)  is a problem.....