100c之20:奇怪的三位数
Table of Contents
- 1 问题
- 2 分析
- 3 解决方案
1 问题
一个自然数的七进制表示是一个三位数,九进制表示也是一个三位数,这两个三位数顺序正好相反求这个三位数。
2 分析
可以采取穷举的方法。 穷举范围是三位九进制能表示的最小数($1117$=91)到三位七进制表示的最大整数($8889$=340)
3 解决方案
1: /**
2: * @file 020strangethreedigit.c
3: * @author Chaolong Zhang
4: * @date Mon May 20 21:17:24 2013
5: *
6: * @brief 一个自然数的七进制表示是一个三位数,九进制表示也是一个三位数,这两个三位数顺序正好相反求这个三位数。
7: *
8: *
9: */
10:
11: #include
12:
13: int main(int argc, char *argv[])
14: {
15: int n;
16: for (n=91; n <= 340; ++n) /// 九进制的最小数 111= 91;七进制最大数 666= 340
17: {
18: if ( (n%7 == n/81) && (n%9 == n/49) && ((n/7)%7 == (n/9)%9 ) )
19: {
20: printf ("%d%d%d(7)=%d%d%d(9)=%d\n",n/49,(n/7)%7,n%7,n/81,(n/9)%9,n%9,n );
21: }
22: else
23: continue;
24: }
25: return 0;
26: }
Table of Contents
- 1 问题
- 2 分析
- 3 解决方案
1 问题
一个自然数的七进制表示是一个三位数,九进制表示也是一个三位数,这两个三位数顺序正好相反求这个三位数。
2 分析
可以采取穷举的方法。 穷举范围是三位九进制能表示的最小数($1117$=91)到三位七进制表示的最大整数($8889$=340)
3 解决方案
1: /** 2: * @file 020strangethreedigit.c 3: * @author Chaolong Zhang4: * @date Mon May 20 21:17:24 2013 5: * 6: * @brief 一个自然数的七进制表示是一个三位数,九进制表示也是一个三位数,这两个三位数顺序正好相反求这个三位数。 7: * 8: * 9: */ 10: 11: #include 12: 13: int main(int argc, char *argv[]) 14: { 15: int n; 16: for (n=91; n <= 340; ++n) /// 九进制的最小数 111= 91;七进制最大数 666= 340 17: { 18: if ( (n%7 == n/81) && (n%9 == n/49) && ((n/7)%7 == (n/9)%9 ) ) 19: { 20: printf ("%d%d%d(7)=%d%d%d(9)=%d\n",n/49,(n/7)%7,n%7,n/81,(n/9)%9,n%9,n ); 21: } 22: else 23: continue; 24: } 25: return 0; 26: }