📄 自循环.txt
字号:
#include "stdafx.h"
#include <iostream.h>
#include <math.h>
int size(int n);//得到一个数n的位数
int *cutnum(int n);//得到n的各个位的数值,存放在一个整数指针里面
int* sort(int n);//对n的各个位的数值排序
int front(int n);//得到大数
int back(int n);//得到小数
int* sort(int n)
{
int temp;
int k=size(n);
//cout<<k<<endl;
int *p=cutnum(n);
//for(int s1=0;s1<k;s1++)
//{
//cout<<p[s1]<<endl;
//}
for(int i=1;i<k;i++)
{
for(int j=k-1;j>=i;j--)
{
if(p[j]<p[j-1])
{
temp=p[j-1];
p[j-1]=p[j];
p[j]=temp;
}
}
}
//for(int s=0;s<k;s++)
//{
//cout<<p[s]<<endl;
//}
return p;
}
int size(int n)
{
int k=0;
for(int i=0;;i++)
{
k=i;
if(n<(int)pow(10,i)) break;
}
return k;
}
int* cutnum(int n)
{
int k=size(n);
int *pnum=new int[k];
for(int j=0;j<k;j++)
{
pnum[j]=n%10;
n/=10;
if(n==0) break;
}
//for()
return pnum;
}
int front(int n)
{int num=0;
int k=size(n);
int *p=sort(n);
// for(int s=0;s<k;s++)
//{
//cout<<p[s]<<endl;
//}
for(int i=0;i<k;i++)
num+=p[i]*(int)pow(10,i);
return num;
}
int back(int n)
{
int num=0;
int k=size(n);
int *p=sort(n);
for(int i=k-1;i>=0;i--)
num+=p[i]*(int)pow(10,(k-i-1));
return num;
}
int main(int argc, char* argv[])
{
//int a[]={1,2,3,4,5,6};
//int *ptest=new int[6];
//ptest=a;
//int r=size(ptest);
//cout<<r<<endl;
for(int n=101;n<999999;n++)
{
//int n;
//cin>>n;
//int *pint=cutnum(n);
//int t=sizeof(pint);
//int m=sizeof(cutnum(n));
//cout<<t<<endl<<m<<endl;;
//sort(pint);
//int m=size(n);
//cout<<m<<endl;
int d1=front(n);
int d2=back(n);
//cout<<d1<<endl<<d2<<endl;
//delete [] pint;
if((d1-d2)==n)
{
cout<<n<<" is a zixunhuan"<<endl;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -