Google考试题:定义控制台应用程序的入口点《节选自froster.>
1
// MyCountOne.cpp : 定义控制台应用程序的入口点。
2
//
3![](//www.cppblog.com/Images/OutliningIndicators/None.gif)
4
#include "stdafx.h"
5
#include <iostream>
6
#include <string>
7
#include <math.h>
8
#include <windows.h>
9
#include <ctime>
10![](//www.cppblog.com/Images/OutliningIndicators/None.gif)
11
using namespace std;
12
unsigned long count = 0;
13
unsigned long F(int buf[], int start );
14
unsigned long T[20];
15![](//www.cppblog.com/Images/OutliningIndicators/None.gif)
16
void CaculateT(void)
17
{
18
int i;
19
T[1] = 1;
20![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
21
for(i=2;i<10;i++)
22
{
23
T[i] = pow(10,(i-1)) + 10 * T[i-1];
24
}
25
}
26![](//www.cppblog.com/Images/OutliningIndicators/None.gif)
27
int _tmain(int argc, _TCHAR* argv[])
28
{
29
unsigned long temp, M = 199900;
30
int i;
31
int buf[20];
32
DWORD start, end, usetime;
33
start = GetTickCount();
34
35
CaculateT();
36![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
37
do
38
{
39
i=1;
40
temp = M;
41
while( temp > 0 )
42
{
43
buf[i++] = temp % 10;
44
temp /= 10;
45
}
46![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
47
cout<<M<<"->"<<F(buf, i-1)<<" ";
48
if(M%5==0)
49
cout<<endl;
50
}while(M++<199981);
51![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
52
end = GetTickCount();
53
usetime = start - end;
54
cout<<"use "<<usetime<<"milliseconds"<<endl;
55![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
56
cout<<M-1;
57![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
58![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
59
return 0;
60![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
61![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
62
}
63![](//www.cppblog.com/Images/OutliningIndicators/None.gif)
64
unsigned long F(int buf[], int start)
65
{
66![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
67
unsigned long temp = 0;
68
if(start==1)
69
{
70
if(buf[start] == 0)
71
return 0;
72
else
73
return 1;
74
}
75![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
76
if( buf[start] == 1)
77
{
78
temp = 0;
79
for(int i=start-1; i>0; i--)
80
temp = temp * 10 + buf[i];
81![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
82
return ( T[start-1] + temp + 1 + F(buf, start - 1) );
83
}
84
else if(buf[start] == 0)
85
{
86
return F(buf, start - 1);
87
}
88
else
89
{
90
return ( buf[start] * T[start-1] + pow(10, start - 1) + F(buf, start - 1) );
91
}
92![](//www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
93
}
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
2
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
3
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
4
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
5
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
6
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
7
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
8
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
9
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
10
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
11
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
12
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
13
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
14
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
15
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
16
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
17
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
18
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
19
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
20
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
21
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
22
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
24
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
25
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
26
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
27
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
28
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
29
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
30
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
31
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
32
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
33
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
34
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
35
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
36
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
37
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
38
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
39
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
40
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
41
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
42
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
43
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
44
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
45
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
46
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
47
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
48
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
49
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
50
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
51
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
52
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
53
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
54
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
55
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
56
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
57
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
58
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
59
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
60
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
61
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
62
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
63
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
64
![](http://www.cppblog.com/Images/OutliningIndicators/None.gif)
65
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
66
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
67
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
68
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
69
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
70
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
71
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
72
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
73
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
74
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
75
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
76
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
77
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
78
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
79
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
80
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
81
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
82
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
83
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
84
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
85
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
86
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
87
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
88
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
89
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
90
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
91
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
92
![](http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif)
93
![](http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
转载请注明文章出处:http://www.cnblogs.com/gredswsh Gredswsh 专栏