求问 为什么不输出结果

库库马力 2017-02-21 02:10:56
namespace ConsoleApplication2
{
class Program
{
//static int mun; //表示需要因式分解的数
static int[] nums = new int[1000];//存放因式
static int n = 0; //存放nums的下标

private static bool flag = true;

static void Main(string[] args)
{
int num = 2*3*5*7*11*13;
getFactor(num);

Console.Write(num + "=");
for (int i = 0; i < n; i++)
{
if (i != n - 1)
{
Console.Write(nums[i] + "*");
}
else
{
Console.Write(nums[i]);
}
}
Console.ReadKey();

}



static void getFactor(int num)
{
if (num != 2 && num % 2 == 0 && num != 1)
{
nums[n++] = 2;
getFactor(num / 2);
}
if (num != 1 && num != 2 && num % 2 != 0)
{
for (int i = 3; i < num; i = 1 + 2)
{
if (num % i == 0)
{
nums[n++] = i;
getFactor(num / i);
flag = false;
break;
}

}
if (flag)
{
flag = true;
nums[n++] = num;
}

}
}
}
}
...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-02-21
  • 打赏
  • 举报
回复
for (int i = 3; i < num; i = 1 + 2) 改为 for (int i = 3; i < num; i += 2)
qbilbo 2017-02-21
  • 打赏
  • 举报
回复
前面看错了。 是:for (int i = 3; i < num; i = 1 + 2) 这里错了。 1 改成i
qbilbo 2017-02-21
  • 打赏
  • 举报
回复
for (int i = 0; i < n; i++)     // n=0
xione 2017-02-21
  • 打赏
  • 举报
回复
断点加单步运行。试试看。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧