#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> int min(int a, int b) { return a < b ? a : b; } int main() { int n; if (n < 1) { return 0; } words[0] = "1"; int wordLength = 1; int wordsWithCurrentLengthCount = 1; int i = 1; while (i < n) { int prevLengthStartIndex = i - wordsWithCurrentLengthCount; wordLength++; wordsWithCurrentLengthCount = 2 * wordsWithCurrentLengthCount + 1; word[0] = '0'; words[i++] = word; int leftToGenerate = n - i; int amount = min(leftToGenerate, wordsWithCurrentLengthCount - 1); for (int j = 0; j < amount; j++) { word[wordLength - 1] = j % 2 ? '1' : '0'; word[wordLength] = '\0'; words[i++] = word; } } for (int i = 0; i < n; i++) { } for (int i = 1; i < n; i++) { } }
1000
1. 1 2. 01 3. 10 4. 11 5. 001 6. 010 7. 011 8. 100 9. 101 10. 110 11. 111 12. 0001 13. 0010 14. 0011 15. 0100 16. 0101 17. 0110 18. 0111 19. 1000 20. 1001 21. 1010 22. 1011 23. 1100 24. 1101 25. 1110 26. 1111 27. 00001 28. 00010 29. 00011 30. 00100 31. 00101 32. 00110 33. 00111 34. 01000 35. 01001 36. 01010 37. 01011 38. 01100 39. 01101 40. 01110 41. 01111 42. 10000 43. 10001 44. 10010 45. 10011 46. 10100 47. 10101 48. 10110 49. 10111 50. 11000 51. 11001 52. 11010 53. 11011 54. 11100 55. 11101 56. 11110 57. 11111 58. 000001 59. 000010 60. 000011 61. 000100 62. 000101 63. 000110 64. 000111 65. 001000 66. 001001 67. 001010 68. 001011 69. 001100 70. 001101 71. 001110 72. 001111 73. 010000 74. 010001 75. 010010 76. 010011 77. 010100 78. 010101 79. 010110 80. 010111 81. 011000 82. 011001 83. 011010 84. 011011 85. 011100 86. 011101 87. 011110 88. 011111 89. 100000 90. 100001 91. 100010 92. 100011 93. 100100 94. 100101 95. 100110 96. 100111 97. 101000 98. 101001 99. 101010 100. 101011 101. 101100 102. 101101 103. 101110 104. 101111 105. 110000 106. 110001 107. 110010 108. 110011 109. 110100 110. 110101 111. 110110 112. 110111 113. 111000 114. 111001 115. 111010 116. 111011 117. 111100 118. 111101 119. 111110 120. 111111 121. 0000001 122. 0000010 123. 0000011 124. 0000100 125. 0000101 126. 0000110 127. 0000111 128. 0001000 129. 0001001 130. 0001010 131. 0001011 132. 0001100 133. 0001101 134. 0001110 135. 0001111 136. 0010000 137. 0010001 138. 0010010 139. 0010011 140. 0010100 141. 0010101 142. 0010110 143. 0010111 144. 0011000 145. 0011001 146. 0011010 147. 0011011 148. 0011100 149. 0011101 150. 0011110 151. 0011111 152. 0100000 153. 0100001 154. 0100010 155. 0100011 156. 0100100 157. 0100101 158. 0100110 159. 0100111 160. 0101000 161. 0101001 162. 0101010 163. 0101011 164. 0101100 165. 0101101 166. 0101110 167. 0101111 168. 0110000 169. 0110001 170. 0110010 171. 0110011 172. 0110100 173. 0110101 174. 0110110 175. 0110111 176. 0111000 177. 0111001 178. 0111010 179. 0111011 180. 0111100 181. 0111101 182. 0111110 183. 0111111 184. 1000000 185. 1000001 186. 1000010 187. 1000011 188. 1000100 189. 1000101 190. 1000110 191. 1000111 192. 1001000 193. 1001001 194. 1001010 195. 1001011 196. 1001100 197. 1001101 198. 1001110 199. 1001111 200. 1010000 201. 1010001 202. 1010010 203. 1010011 204. 1010100 205. 1010101 206. 1010110 207. 1010111 208. 1011000 209. 1011001 210. 1011010 211. 1011011 212. 1011100 213. 1011101 214. 1011110 215. 1011111 216. 1100000 217. 1100001 218. 1100010 219. 1100011 220. 1100100 221. 1100101 222. 1100110 223. 1100111 224. 1101000 225. 1101001 226. 1101010 227. 1101011 228. 1101100 229. 1101101 230. 1101110 231. 1101111 232. 1110000 233. 1110001 234. 1110010 235. 1110011 236. 1110100 237. 1110101 238. 1110110 239. 1110111 240. 1111000 241. 1111001 242. 1111010 243. 1111011 244. 1111100 245. 1111101 246. 1111110 247. 1111111 248. 00000001 249. 00000010 250. 00000011 251. 00000100 252. 00000101 253. 00000110 254. 00000111 255. 00001000 256. 00001001 257. 00001010 258. 00001011 259. 00001100 260. 00001101 261. 00001110 262. 00001111 263. 00010000 264. 00010001 265. 00010010 266. 00010011 267. 00010100 268. 00010101 269. 00010110 270. 00010111 271. 00011000 272. 00011001 273. 00011010 274. 00011011 275. 00011100 276. 00011101 277. 00011110 278. 00011111 279. 00100000 280. 00100001 281. 00100010 282. 00100011 283. 00100100 284. 00100101 285. 00100110 286. 00100111 287. 00101000 288. 00101001 289. 00101010 290. 00101011 291. 00101100 292. 00101101 293. 00101110 294. 00101111 295. 00110000 296. 00110001 297. 00110010 298. 00110011 299. 00110100 300. 00110101 301. 00110110 302. 00110111 303. 00111000 304. 00111001 305. 00111010 306. 00111011 307. 00111100 308. 00111101 309. 00111110 310. 00111111 311. 01000000 312. 01000001 313. 01000010 314. 01000011 315. 01000100 316. 01000101 317. 01000110 318. 01000111 319. 01001000 320. 01001001 321. 01001010 322. 01001011 323. 01001100 324. 01001101 325. 01001110 326. 01001111 327. 01010000 328. 01010001 329. 01010010 330. 01010011 331. 01010100 332. 01010101 333. 01010110 334. 01010111 335. 01011000 336. 01011001 337. 01011010 338. 01011011 339. 01011100 340. 01011101 341. 01011110 342. 01011111 343. 01100000 344. 01100001 345. 01100010 346. 01100011 347. 01100100 348. 01100101 349. 01100110 350. 01100111 351. 01101000 352. 01101001 353. 01101010 354. 01101011 355. 01101100 356. 01101101 357. 01101110 358. 01101111 359. 01110000 360. 01110001 361. 01110010 362. 01110011 363. 01110100 364. 01110101 365. 01110110 366. 01110111 367. 01111000 368. 01111001 369. 01111010 370. 01111011 371. 01111100 372. 01111101 373. 01111110 374. 01111111 375. 10000000 376. 10000001 377. 10000010 378. 10000011 379. 10000100 380. 10000101 381. 10000110 382. 10000111 383. 10001000 384. 10001001 385. 10001010 386. 10001011 387. 10001100 388. 10001101 389. 10001110 390. 10001111 391. 10010000 392. 10010001 393. 10010010 394. 10010011 395. 10010100 396. 10010101 397. 10010110 398. 10010111 399. 10011000 400. 10011001 401. 10011010 402. 10011011 403. 10011100 404. 10011101 405. 10011110 406. 10011111 407. 10100000 408. 10100001 409. 10100010 410. 10100011 411. 10100100 412. 10100101 413. 10100110 414. 10100111 415. 10101000 416. 10101001 417. 10101010 418. 10101011 419. 10101100 420. 10101101 421. 10101110 422. 10101111 423. 10110000 424. 10110001 425. 10110010 426. 10110011 427. 10110100 428. 10110101 429. 10110110 430. 10110111 431. 10111000 432. 10111001 433. 10111010 434. 10111011 435. 10111100 436. 10111101 437. 10111110 438. 10111111 439. 11000000 440. 11000001 441. 11000010 442. 11000011 443. 11000100 444. 11000101 445. 11000110 446. 11000111 447. 11001000 448. 11001001 449. 11001010 450. 11001011 451. 11001100 452. 11001101 453. 11001110 454. 11001111 455. 11010000 456. 11010001 457. 11010010 458. 11010011 459. 11010100 460. 11010101 461. 11010110 462. 11010111 463. 11011000 464. 11011001 465. 11011010 466. 11011011 467. 11011100 468. 11011101 469. 11011110 470. 11011111 471. 11100000 472. 11100001 473. 11100010 474. 11100011 475. 11100100 476. 11100101 477. 11100110 478. 11100111 479. 11101000 480. 11101001 481. 11101010 482. 11101011 483. 11101100 484. 11101101 485. 11101110 486. 11101111 487. 11110000 488. 11110001 489. 11110010 490. 11110011 491. 11110100 492. 11110101 493. 11110110 494. 11110111 495. 11111000 496. 11111001 497. 11111010 498. 11111011 499. 11111100 500. 11111101 501. 11111110 502. 11111111 503. 000000001 504. 000000010 505. 000000011 506. 000000100 507. 000000101 508. 000000110 509. 000000111 510. 000001000 511. 000001001 512. 000001010 513. 000001011 514. 000001100 515. 000001101 516. 000001110 517. 000001111 518. 000010000 519. 000010001 520. 000010010 521. 000010011 522. 000010100 523. 000010101 524. 000010110 525. 000010111 526. 000011000 527. 000011001 528. 000011010 529. 000011011 530. 000011100 531. 000011101 532. 000011110 533. 000011111 534. 000100000 535. 000100001 536. 000100010 537. 000100011 538. 000100100 539. 000100101 540. 000100110 541. 000100111 542. 000101000 543. 000101001 544. 000101010 545. 000101011 546. 000101100 547. 000101101 548. 000101110 549. 000101111 550. 000110000 551. 000110001 552. 000110010 553. 000110011 554. 000110100 555. 000110101 556. 000110110 557. 000110111 558. 000111000 559. 000111001 560. 000111010 561. 000111011 562. 000111100 563. 000111101 564. 000111110 565. 000111111 566. 001000000 567. 001000001 568. 001000010 569. 001000011 570. 001000100 571. 001000101 572. 001000110 573. 001000111 574. 001001000 575. 001001001 576. 001001010 577. 001001011 578. 001001100 579. 001001101 580. 001001110 581. 001001111 582. 001010000 583. 001010001 584. 001010010 585. 001010011 586. 001010100 587. 001010101 588. 001010110 589. 001010111 590. 001011000 591. 001011001 592. 001011010 593. 001011011 594. 001011100 595. 001011101 596. 001011110 597. 001011111 598. 001100000 599. 001100001 600. 001100010 601. 001100011 602. 001100100 603. 001100101 604. 001100110 605. 001100111 606. 001101000 607. 001101001 608. 001101010 609. 001101011 610. 001101100 611. 001101101 612. 001101110 613. 001101111 614. 001110000 615. 001110001 616. 001110010 617. 001110011 618. 001110100 619. 001110101 620. 001110110 621. 001110111 622. 001111000 623. 001111001 624. 001111010 625. 001111011 626. 001111100 627. 001111101 628. 001111110 629. 001111111 630. 010000000 631. 010000001 632. 010000010 633. 010000011 634. 010000100 635. 010000101 636. 010000110 637. 010000111 638. 010001000 639. 010001001 640. 010001010 641. 010001011 642. 010001100 643. 010001101 644. 010001110 645. 010001111 646. 010010000 647. 010010001 648. 010010010 649. 010010011 650. 010010100 651. 010010101 652. 010010110 653. 010010111 654. 010011000 655. 010011001 656. 010011010 657. 010011011 658. 010011100 659. 010011101 660. 010011110 661. 010011111 662. 010100000 663. 010100001 664. 010100010 665. 010100011 666. 010100100 667. 010100101 668. 010100110 669. 010100111 670. 010101000 671. 010101001 672. 010101010 673. 010101011 674. 010101100 675. 010101101 676. 010101110 677. 010101111 678. 010110000 679. 010110001 680. 010110010 681. 010110011 682. 010110100 683. 010110101 684. 010110110 685. 010110111 686. 010111000 687. 010111001 688. 010111010 689. 010111011 690. 010111100 691. 010111101 692. 010111110 693. 010111111 694. 011000000 695. 011000001 696. 011000010 697. 011000011 698. 011000100 699. 011000101 700. 011000110 701. 011000111 702. 011001000 703. 011001001 704. 011001010 705. 011001011 706. 011001100 707. 011001101 708. 011001110 709. 011001111 710. 011010000 711. 011010001 712. 011010010 713. 011010011 714. 011010100 715. 011010101 716. 011010110 717. 011010111 718. 011011000 719. 011011001 720. 011011010 721. 011011011 722. 011011100 723. 011011101 724. 011011110 725. 011011111 726. 011100000 727. 011100001 728. 011100010 729. 011100011 730. 011100100 731. 011100101 732. 011100110 733. 011100111 734. 011101000 735. 011101001 736. 011101010 737. 011101011 738. 011101100 739. 011101101 740. 011101110 741. 011101111 742. 011110000 743. 011110001 744. 011110010 745. 011110011 746. 011110100 747. 011110101 748. 011110110 749. 011110111 750. 011111000 751. 011111001 752. 011111010 753. 011111011 754. 011111100 755. 011111101 756. 011111110 757. 011111111 758. 100000000 759. 100000001 760. 100000010 761. 100000011 762. 100000100 763. 100000101 764. 100000110 765. 100000111 766. 100001000 767. 100001001 768. 100001010 769. 100001011 770. 100001100 771. 100001101 772. 100001110 773. 100001111 774. 100010000 775. 100010001 776. 100010010 777. 100010011 778. 100010100 779. 100010101 780. 100010110 781. 100010111 782. 100011000 783. 100011001 784. 100011010 785. 100011011 786. 100011100 787. 100011101 788. 100011110 789. 100011111 790. 100100000 791. 100100001 792. 100100010 793. 100100011 794. 100100100 795. 100100101 796. 100100110 797. 100100111 798. 100101000 799. 100101001 800. 100101010 801. 100101011 802. 100101100 803. 100101101 804. 100101110 805. 100101111 806. 100110000 807. 100110001 808. 100110010 809. 100110011 810. 100110100 811. 100110101 812. 100110110 813. 100110111 814. 100111000 815. 100111001 816. 100111010 817. 100111011 818. 100111100 819. 100111101 820. 100111110 821. 100111111 822. 101000000 823. 101000001 824. 101000010 825. 101000011 826. 101000100 827. 101000101 828. 101000110 829. 101000111 830. 101001000 831. 101001001 832. 101001010 833. 101001011 834. 101001100 835. 101001101 836. 101001110 837. 101001111 838. 101010000 839. 101010001 840. 101010010 841. 101010011 842. 101010100 843. 101010101 844. 101010110 845. 101010111 846. 101011000 847. 101011001 848. 101011010 849. 101011011 850. 101011100 851. 101011101 852. 101011110 853. 101011111 854. 101100000 855. 101100001 856. 101100010 857. 101100011 858. 101100100 859. 101100101 860. 101100110 861. 101100111 862. 101101000 863. 101101001 864. 101101010 865. 101101011 866. 101101100 867. 101101101 868. 101101110 869. 101101111 870. 101110000 871. 101110001 872. 101110010 873. 101110011 874. 101110100 875. 101110101 876. 101110110 877. 101110111 878. 101111000 879. 101111001 880. 101111010 881. 101111011 882. 101111100 883. 101111101 884. 101111110 885. 101111111 886. 110000000 887. 110000001 888. 110000010 889. 110000011 890. 110000100 891. 110000101 892. 110000110 893. 110000111 894. 110001000 895. 110001001 896. 110001010 897. 110001011 898. 110001100 899. 110001101 900. 110001110 901. 110001111 902. 110010000 903. 110010001 904. 110010010 905. 110010011 906. 110010100 907. 110010101 908. 110010110 909. 110010111 910. 110011000 911. 110011001 912. 110011010 913. 110011011 914. 110011100 915. 110011101 916. 110011110 917. 110011111 918. 110100000 919. 110100001 920. 110100010 921. 110100011 922. 110100100 923. 110100101 924. 110100110 925. 110100111 926. 110101000 927. 110101001 928. 110101010 929. 110101011 930. 110101100 931. 110101101 932. 110101110 933. 110101111 934. 110110000 935. 110110001 936. 110110010 937. 110110011 938. 110110100 939. 110110101 940. 110110110 941. 110110111 942. 110111000 943. 110111001 944. 110111010 945. 110111011 946. 110111100 947. 110111101 948. 110111110 949. 110111111 950. 111000000 951. 111000001 952. 111000010 953. 111000011 954. 111000100 955. 111000101 956. 111000110 957. 111000111 958. 111001000 959. 111001001 960. 111001010 961. 111001011 962. 111001100 963. 111001101 964. 111001110 965. 111001111 966. 111010000 967. 111010001 968. 111010010 969. 111010011 970. 111010100 971. 111010101 972. 111010110 973. 111010111 974. 111011000 975. 111011001 976. 111011010 977. 111011011 978. 111011100 979. 111011101 980. 111011110 981. 111011111 982. 111100000 983. 111100001 984. 111100010 985. 111100011 986. 111100100 987. 111100101 988. 111100110 989. 111100111 990. 111101000 991. 111101001 992. 111101010 993. 111101011 994. 111101100 995. 111101101 996. 111101110 997. 111101111 998. 111110000 999. 111110001 1000. 111110010