1,输出数字逆序后的结果
int inverse(int n)
{
int sum=0;
while(n!=0)
{
sum=sum*10+n%10;
n=n/10;
}
return sum;
}
2.十进制转化为二进制
void convert(int n)
{
if(n > 0)
{
convert(n/2);
cout<< n%2;
}
return ;
}
3.二进制转化为十进制
int bToD(char str[])
{
int x = 0;
for(int i=0; i<strlen(str); i++)
{
x += (str[i] - '0') * pow(2, strlen(str)-1-i);
}
return x;
}
4.将k进制数转化为十进制数
int KToD(char a[],int k)
{
int t=0, i=0;
while(a[i] != '\0')
{
t = t*k+(a[i]-'0');
i++;
}
return t;
}
5.将十进制数转化为k进制整数
void dToK(int n, int r,char str[])
{
int k=0,d;
while(n)
{
str[k]=n%r;
n=n/r;
k++;
}
for(int i=k-1; i>=0; i--)
{
printf("%d", str[i]);
}
printf("\n");
}
6.求最大子段和函数
int max(int n)
{
int t = 0;
int maxnum = -99999;
for(int i=0; i<n; i++)
{
t = (t+a[i]) > a[i]?t+a[i]:a[i];
if(maxnum < t)
maxnum = t;
}
return maxnum;
}
7.数字反转
int reverse(int n)
{
int s = 0;
while(n != 0)
{
s = s*10 + n%10;
n = n/10;
}
return s;
}