简单算法

int x, n, i, j, b;
char buf[10];
sprintf(buf, “%d”, x);
n = strlen(buf);
//冒泡排序
for(i = 0; i < n; i++)
for( j = i + 1; j <n; j++)
  if(buf[i] > buf[j])
    {    char t = buf[i];buf[i]=buf[j];buf[j]=t;}
sscanf(buf, “%d”, &b);
//字符串反转
for(i = 0; i < n / 2; i++)
{    char t = buf[i];
buf[i]=buf[n-1-i];
buf[n-1-i]=t; }
//位运算
const int MAXD = 20
int s[ 1 << MAXD];
int n = (1 << MAXD) - 1
//求最大公约数
int
gcd(int a, int b) { if(b == 0) return a; gcd(b,a%b); }
int gcd(int a,int b)
{
    return b?gcd(b,a%b):a;
}
求最小公倍数的时候 先除防溢出
 
原文地址:https://www.cnblogs.com/wwjyt/p/3182879.html