#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int main() {
int a, m, n, i, j, sum;
printf("输入需要求水仙花的位数:");
scanf("%d", &a);//输入我想要的水仙花的位数
//算法的实现
for (n = pow(10, a - 1); n < pow(10, a); n++) //确定范围
{
j = 0;//初始化j,防止上一次循环的j对本次造成干扰,以下同理
int y = 0;
sum = 0;
for (i = a - 1; i >= 0; i--) //循环a次求每个位数的值
{
m = pow(10, i);//m为10的i次方
if (i != 0)
{
j = (n - y) / m;//y为前面位数的和,比如求四位数的水仙花数时,
//如1503,第一个是求1,此时n减去0除以1000;第二位求5,
//n减去j乘以1000再除以100
}
else
求C语言N位水仙花数
最新推荐文章于 2024-02-06 20:06:25 发布