要求找出具有下列性质数的个数(包含输入的自然数n):
先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理:
1. 不作任何处理;
2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int NumberSize(const int& n);
string GetString(const int& n);
void Append(const string& dest,const int& src);
int main()
{
int n;
cin>>n;
for(int i=1;i<=n/2;++i)
Append(GetString(n),i);
cout<<endl;
return 0;
}
int NumberSize(const int& n)
{
int src=n;
int size=1;
while(src/10!=0)
{
src/=10;
++size;
}
return size;
}
string GetString(const int& n)
{
char *temp=new char[ NumberSize( n )];
string str=itoa(n,temp,10);
return str;
}
void Append(const string& dest,const int& src)
{
string str=GetString(src)+dest;
cout<<str<<'/t';
if(src>1)
for(int i=1;i<=src/2;++i)
Append(str,i);
}
输入
一个自然数n
输出
一个数,表示满足条件的数的个数
样例输入
6
样例输出
6
提示
样例说明:满足条件的数是6,16,26,126,36,136
/************************************************************************/
例如输入36
36
136 236 1236 336 1336 436 1436 2436 12436 536
1536 2536 12536 636 1636 2636 12636 3636 13636 736
1736 2736 12736 3736 13736 836 1836 2836 12836 3836
13836 4836 14836 24836 124836 936 1936 2936 12936 3936
13936 4936 14936 24936 124936 1036 11036 21036 121036 31036
131036 41036 141036 241036 1241036 51036 151036 251036 1251036 1136
11136 21136 121136 31136 131136 41136 141136 241136 1241136 51136
151136 251136 1251136 1236 11236 21236 121236 31236 131236 41236
141236 241236 1241236 51236 151236 251236 1251236 61236 161236 261236
1261236 361236 1361236 1336 11336 21336 121336 31336 131336 41336
141336 241336 1241336 51336 151336 251336 1251336 61336 161336 261336
1261336 361336 1361336 1436 11436 21436 121436 31436 131436 41436
141436 241436 1241436 51436 151436 251436 1251436 61436 161436 261436
1261436 361436 1361436 71436 171436 271436 1271436 371436 1371436 1536
11536 21536 121536 31536 131536 41536 141536 241536 1241536 51536
151536 251536 1251536 61536 161536 261536 1261536 361536 1361536 71536
171536 271536 1271536 371536 1371536 1636 11636 21636 121636 31636
131636 41636 141636 241636 1241636 51636 151636 251636 1251636 61636
161636 261636 1261636 361636 1361636 71636 171636 271636 1271636 371636
1371636 81636 181636 281636 1281636 381636 1381636 481636 1481636 2481636
12481636 1736 11736 21736 121736 31736 131736 41736 141736
241736 1241736 51736 151736 251736 1251736 61736 161736 261736 1261736
361736 1361736 71736 171736 271736 1271736 371736 1371736 81736 181736
281736 1281736 381736 1381736 481736 1481736 2481736 12481736 1836
11836 21836 121836 31836 131836 41836 141836 241836 1241836 51836
151836 251836 1251836 61836 161836 261836 1261836 361836 1361836 71836
171836 271836 1271836 371836 1371836 81836 181836 281836 1281836 381836
1381836 481836 1481836 2481836 12481836 91836 191836 291836 1291836
391836 1391836 491836 1491836 2491836 12491836
Press any key to continue