1自己在devc++里面运行,试了很多种数字,结果都正确,但是在网站提交时便不正确,想问一下这是代码问题还是网站的问题?
2 在14 18行时自己将count!=0改成count!=1,结果分数更低,运行时间也增加,这是为什么?这样改主要是因为考虑到2,如果按照count!=0,那运行时不应该是出现2=2^1吗,我运行了一下,发现是2=2,我就有点茫然。
然后
我就改了另一种形式,也就是再增加一个else if用来判断count==1时怎么输出,结果分数低,如图
问题有点多,求友友帮助!
1自己在devc++里面运行,试了很多种数字,结果都正确,但是在网站提交时便不正确,想问一下这是代码问题还是网站的问题?
2 在14 18行时自己将count!=0改成count!=1,结果分数更低,运行时间也增加,这是为什么?这样改主要是因为考虑到2,如果按照count!=0,那运行时不应该是出现2=2^1吗,我运行了一下,发现是2=2,我就有点茫然。
然后
我就改了另一种形式,也就是再增加一个else if用来判断count==1时怎么输出,结果分数低,如图
我测试了下你的程序,的确有数据有问题,我稍改了下,你再试试:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, i, count = 0;
int fir = 0;
scanf("%d", &n);
int tn = n;
printf("%d=", n);
for (i = 2; i <= n / i; i++)
{
count = 0;
while (n % i == 0)
{
count++;
n /= i;
}
if (count != 0)
{
if (fir == 0)
fir = 1;
else
printf("*");
if (count > 1)
printf("%d^%d", i, count);
else
printf("%d", i);
}
}
if (tn == n)
printf("%d", tn);
else if (n > 1)
printf("*%d", n);
return 0;
}