| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1087 人关注过本帖
标题:来两道题
只看楼主 加入收藏
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 7楼 voidx
你知道性能较好点的全排列算法吗?

My life is brilliant
2011-08-05 22:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
不用排列的,开动脑筋嘛。写程序之前多想,思考好了再动手写程序,不是马上低下头去敲代码,那样不行的。

授人以渔,不授人以鱼。
2011-08-05 22:49
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
这 不是前几天的 那题目的 部分思想?

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-08-05 22:54
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:3 
1:
程序代码:
#include <stdio.h>
#include <math.h>

int isPrime(int);
int isPalindrome(int);

int main(void) {
    int i;
    for(i = 1; i < 10000; i++)
        if(isPrime(i) && isPalindrome(i))
            printf("%d\n", i);
    return 0;
}

int isPrime(int n) {
    int i;
    if(n < 2)
        return 0;
    for(i = 2; i < n; i++)
        if(n % i == 0)
            return 0;
    return 1;
}

int isPalindrome(int n) {
    int i, j;
    if(n < 0)
        return 0;
    i = (int)pow(10, (int)log10(n));
    j = 1;
    while(i > j) {
        if(n / i % 10 != n / j % 10)
            return 0;
        i /= 10;
        j *= 10;
    }
    return 1;
}
图片附件: 游客没有浏览图片的权限,请 登录注册


My life is brilliant
2011-08-05 22:56
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 12楼 TonyDeng
那您认为应该怎么写呢?

My life is brilliant
2011-08-05 22:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
先回13楼:不是,跟那些没重复的,但先动脑是一样的。

再回15楼:仔细审题,要求xx*xx=xxxxx,什么样的两位数相乘才能是五位数呢?12*34肯定不能。那么,假定第一个是12,第二个的十位数必须是什么范围?如果能够圈定两个十位数的首位范围,还能剩下多少呢?不用管右边的,定出左边两个十位数,乘出结果再排除。

授人以渔,不授人以鱼。
2011-08-05 23:02
风生钧起
Rank: 4
来 自:江西
等 级:业余侠客
帖 子:383
专家分:246
注 册:2011-7-26
收藏
得分:0 
回复 16楼 TonyDeng
第一题是解出来 代码跟不上 大流 不贴了

第二题 ing

墨一世红颜倾醉己    霁天谁与话风流

修仙``````````````````````````````````````````````
2011-08-05 23:06
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:3 
回复 15楼 lz1091914999
参见 http://www.
2011-08-05 23:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
噢,先前写错了,是xx*xx=xx*xxx,右边也是乘法。不过大致思路也是这个方向,缩小循环范围是重点。分四个区考虑,3个xx、1个xxx,首先定第一位数的范围,将四个数的第一位数锁定了。

授人以渔,不授人以鱼。
2011-08-05 23:18
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 18楼 voidx
英文的,我果断没看,目前就将就用这个算法吧,还是老杨教我的,谢谢他。

My life is brilliant
2011-08-05 23:23
快速回复:来两道题
数据加载中...
 
   



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

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