fork download
  1. // 165_321.c
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5.  
  6. void func(char s, char e, int n)
  7. {
  8. char *buff;
  9. int i;
  10.  
  11. buff = malloc(n + 1);
  12. // 各桁ごと
  13. for (; n >= 1; n--) {
  14. // 初期値作成
  15. for (i = 0; i < n; i++) {
  16. buff[i] = s;
  17. }
  18. buff[i] = '\0';
  19. // 計算
  20. while (1) {
  21. i = n - 1;
  22. fprintf(stderr, "%s\n", buff); // 出力
  23. buff[i]++;
  24. // 繰り上げ処理
  25. while (1) {
  26. if (buff[i] > e) {
  27. buff[i] = s;
  28. i--;
  29. if (i < 0) {
  30. break;
  31. }
  32. buff[i]++;
  33. }
  34. else {
  35. break;
  36. }
  37. }
  38. if (i < 0) {
  39. break;
  40. }
  41. }
  42. }
  43. free(buff);
  44. }
  45.  
  46. int main()
  47. {
  48. func('0', '2', 3);
  49.  
  50. return 0;
  51. }
  52.  
Success #stdin #stdout #stderr 0s 1916KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
000
001
002
010
011
012
020
021
022
100
101
102
110
111
112
120
121
122
200
201
202
210
211
212
220
221
222
00
01
02
10
11
12
20
21
22
0
1
2