求开方数,求一个number的个数,和正向反向打印

Posted Fgxr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求开方数,求一个number的个数,和正向反向打印相关的知识,希望对你有一定的参考价值。

求开方数,求一个number的个数,和正向反向打印

#include <stdio.h>
#include <math.h>
#include <assert.h>
int mysqrt(unsigned int val) //给一个数开方,结果取整数部分
{
    assert(0 < val && val <= 1000);
    int temp = 1;
    while ((temp * temp) <= val)
    {
        temp++;
    }
    return --temp;
}

int Get_figure(unsigned int val)
{ //求一个数的位数
    int tmp = 0;
    while (val)
    {
        val /= 10;
        tmp++;
    }
    return tmp;
}

void Print_Order(unsigned int val)
{ //正向打印
    int order = (int)pow(10.0, Get_figure(val) - 1);
    while (order)
    {
        int tmp = val / order;
        printf("%d", tmp);
        val = val % order;
        order /= 10;
    }
    printf("\\n");
}

void Print_Reverse(unsigned int val)
{ //反向打印
    while (val)
    {
        int tmp = val % 10;
        printf("%d", tmp);
        val /= 10;
    }
    printf("\\n");
}
int main()
{
    printf("%d\\n", mysqrt(800));
    printf("%d\\n", Get_figure(100));
    Print_Order(10045);
    Print_Reverse(10045);
}
//结果
28
3
10045
54001

以上是关于求开方数,求一个number的个数,和正向反向打印的主要内容,如果未能解决你的问题,请参考以下文章

二分查找---求开方

Java50道经典习题-程序13 根据条件求数字

204.Count Primes

204.Count Primes

HDU - 1394 Minimum Inversion Number(线段树求逆序数---点修改)

JAVA 基础编程练习题13 程序 13 根据条件求数字