How to write a script for the following?

1 Ansicht (letzte 30 Tage)
Zhuoying Lin
Zhuoying Lin am 4 Nov. 2017
Kommentiert: Zhuoying Lin am 4 Nov. 2017
1 x 8 + 1 = 9
12 x 8 + 2 = 98
123 x 8 + 3 = 987
1234 x 8 + 4 = 9876
12345 x 8 + 5 = 98765
123456 x 8 + 6 = 987654
1234567 x 8 + 7 = 9876543
12345678 x 8 + 8 = 98765432
123456789 x 8 + 9 = 987654321
The script should iterate from 1 to 9 to produce the expressions on the left, then perform the specified operation to get the results on the right, and finally print exactly in the format above
Thank you!

Akzeptierte Antwort

Stephen23
Stephen23 am 4 Nov. 2017
>> for k=1:9, n=sscanf(sprintf('%d',1:k),'%d'); fprintf('%d x 8 + %d = %d\n',n,k,n*8+k); end
1 x 8 + 1 = 9
12 x 8 + 2 = 98
123 x 8 + 3 = 987
1234 x 8 + 4 = 9876
12345 x 8 + 5 = 98765
123456 x 8 + 6 = 987654
1234567 x 8 + 7 = 9876543
12345678 x 8 + 8 = 98765432
123456789 x 8 + 9 = 987654321
>>
  5 Kommentare
Stephen23
Stephen23 am 4 Nov. 2017
Bearbeitet: Stephen23 am 4 Nov. 2017
@Zhuoying Lin: of course, there are always other ways of doing things. You could calculate n without any strings at all, which might even be more efficient:
n = sum((k:-1:1).*10.^(0:k-1));
e.g.
>> for k=1:9, n=sum((k:-1:1).*10.^(0:k-1)); fprintf('%d x 8 + %d = %d\n',n,k,n*8+k); end
1 x 8 + 1 = 9
12 x 8 + 2 = 98
123 x 8 + 3 = 987
1234 x 8 + 4 = 9876
12345 x 8 + 5 = 98765
123456 x 8 + 6 = 987654
1234567 x 8 + 7 = 9876543
12345678 x 8 + 8 = 98765432
123456789 x 8 + 9 = 987654321
Zhuoying Lin
Zhuoying Lin am 4 Nov. 2017
Okay!Thank you very much!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 4 Nov. 2017
for loop and use fprintf()
  1 Kommentar
Zhuoying Lin
Zhuoying Lin am 4 Nov. 2017
Yes I know what it is tested on but I have no idea how to compose it

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB Coder finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by