1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>
void print_line(int w) {
for(int i = 0; i < w; i++) { // w + 1 time unites
printf("<"); // w time units
printf("*"); // w time units
printf(">"); // w time units
}
printf("\n"); // 1 time unit
} // 4w + 2 time units
void print_square(int w) { // w is the width (and height) of the square
for(int i = 0; i < w; i++) { // 1 time unit
for(int j = 0; j < w; j++) { // 1 time unit
printf("*"); // 1 time unit
}
printf("\n"); // 1 time unit
}
}
/* w line 7 line 8 line 9 line 11
* --------------------------------------
* 1 2 2 1 1
* 2 3 6 4 2
*
* cost in time units = 2w² + 3w + 1
*/
/*
* Q: How "fast" (or "slow") is print_square(…)?
* -- Answer must depend on n.
* -- Remember: This only matters with bigger inputs (i.e., 'w').
* -- For now: Assume each line of code costs "1 time unit".
*/
int main(int argc, char* argv[]) {
print_line(5);
//print_square(500);
return EXIT_SUCCESS;
}
/* vim: set tabstop=4 shiftwidth=4 fileencoding=utf-8 noexpandtab: */
|
© Copyright 2023 Alexander J. Quinn This content is protected and may not be shared, uploaded, or distributed.