![]()
1 #include<stdio.h>
2 #include<math.h>
3
4 int main(void)
5 {
6 int n;
7 int temp; //个位数
8 int flag; //奇偶标志位,1是奇数,0是偶数
9 int count; //统计数的位数
10 int result; //输出结果
11
12 count = 0;
13 result = 0;
14
15 scanf_s("%d", &n);
16
17 do
18 {
19 temp = n % 10;
20 count++;
21
22 /*
23 数位奇偶规律
24 */
25 if (count % 2 == 1)
26 {
27 flag = 1;
28 }
29 else
30 {
31 flag = 0;
32 }
33
34 /*
35 奇偶性相同的情况
36 */
37 if (temp % 2 == flag)
38 {
39 result = result + pow(2, count - 1.0);
40 }
41
42 n = n / 10;
43
44 } while (n != 0);
45
46 printf("%d\n", result);
47
48 return 0;
49 }