标题:如何提高程序的效率?
取消只看楼主
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
结帖率:100%
已结贴  问题点数:20 回复次数:2 
如何提高程序的效率?
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
    int i, j, k, n, l, count;
    while (scanf ("%d", &n) != EOF)
    {
        k = 1;
        printf ("%d =", n);
        if (n == 1 || n == 0)
            printf (" %d\n", n);
        else
        {
        for (i = 2; i <= n; i++)
        {
            count = 0;
            l = 1;
            for (j = 2; j * j <= i; j++)
            {
                if (!(i % j))
                {
                    l = 0;
                    break;       
                }   
            }
            if (l && !(n % i))
            {
                while (n && !(n % i))
                {
                    n /= i;
                    count++;
                }
                if (count > 1)
                {
                    if (k)
                    {
                        printf (" %d^%d", i, count);   
                        k = 0; 
                    }
                    else
                        printf (" * %d^%d", i, count);
                }
                else
                {
                    if (k)
                    {
                        printf (" %d", i); 
                        k = 0;   
                    }
                    else
                        printf (" * %d", i);   
                }
            }
        }
        printf ("\n");
        }
    }
    return 0;
}



结果是:Time Limit Exceed
求改进
qq:413306776
qq群:33505437
搜索更多相关主题的帖子: 效率 
2010-05-07 19:03
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
得分:0 
回复 3楼 南国利剑
题目要求是这样的:
输入n(1 <= n <= 1e9),有多组测试数据:
616
27

输出:
616 = 2^3 * 7 * 11
27 = 3^3
(注意输出空格,但行末不要有空格)

有多组数据测试,第一组通过,第二组数据就超时了。

[ 本帖最后由 瓦药墙 于 2010-5-9 16:30 编辑 ]
2010-05-09 16:26
瓦药墙
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:218
专家分:556
注 册:2009-9-16
得分:0 
多谢楼上的提示
2010-05-10 09:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-305769-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.659827 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved