10.2.11求100-10000之间各个位置的数字相加等于5(答案思路人工筛选了500+ 5000+的数))

暴力解法:

/**
 * 取余数的方式获取各个位置的数据
 * 核心是获取每个数的各个位置(个位十位百位等)的数字让后相加判断是不是等于5
 *
*/

#include <stdio.h>
extern int numberisfive(int n);
void main()
{
    int i, k, number, number2;
    number = number2 = 0;
    for (i = 100; i <= 10000; i++)
    {
        k = numberisfive(i);
        if (k == 5)
        {
            number++;
            printf("%d------is five number = %d\n", i, number);
        }
        number2++;
       // printf("%d------not 5 number2 = %d\n", i, number2);
    }
}

int numberisfive(int n)
{
    int tmp = 0;
    while (n > 0)
    {
        tmp += n % 10;
        n = n / 10;
    }
    return tmp;
}

发布了212 篇原创文章 · 获赞 32 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_42664961/article/details/103935628