| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1114 人关注过本帖
标题:[求助]ACM 1
取消只看楼主 加入收藏
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
 问题点数:0 回复次数:7 
[求助]ACM 1

大家看一看吧!还是英文的!
Prime Palindromes

--------------------------------------------------------------------------------

Time limit: 15sec. Submitted: 2363
Memory limit: 32M Accepted: 362

Source : USACO Gateway

--------------------------------------------------------------------------------

The number 151 is a prime palindrome because it is both a prime number and a palindrome (it is the same number when read forward as backward). Write a program that finds all prime palindromes in the range of two supplied numbers a and b (5 <= a < b <= 1000,000,000); both a and b are considered to be within the range .

Input
Line 1: Two integers, a and b

Output
The list of palindromic primes in numerical order, one per line.

Sample Input
5 500

Sample Output
5
7
11
101
131
151
181
191
313
353
373
383

要怎样判断一个数字的首位数字是否相同啊!

例如:101
37573
还有谁知道这道题的大概意思是什么呀!

[此贴子已经被作者于2006-11-9 20:14:12编辑过]

搜索更多相关主题的帖子: ACM 
2006-11-09 18:48
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
if(strcmp(str[i++],str[(n+1)--]) == 0)
为什么不可以这样比较啊!

该学习了。。。
2006-11-09 19:30
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 

试了,不对,你能说一说你的大体思路是什么吗?


该学习了。。。
2006-11-10 10:33
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
这部分的大体意思是什么呀?
unsigned long pow10(int n)
{
int i;
unsigned long s=1;
for(i=0;i<n;i++)
s*=10;
return s;
}
void prime_palindrome(unsigned long a,unsigned long b)
{
int a_len=(int)log10(a)+1;
int b_len=(int)log10(b)+1;
int n,j;
unsigned long num,i,temp;
for(n=a_len;n<=b_len;n++)
{
if(n%2==0)
{
for(i=pow10(n/2-1);i<pow10(n/2);i++)
{
num=0;
temp=i;
for(j=0;j<n/2;j++)
{
num=num*10+temp%10;
temp/=10;
}
num=i*pow10(n/2)+num;
if(num%2 && num>=a && num<=b && prime(num))
printf("%ld\n",num);
}
}
else
{
for(i=pow10(n/2);i<pow10((n+1)/2);i++)
{
num=0;
temp=i/10;
for(j=0;j<n/2;j++)
{
num=num*10+temp%10;
temp/=10;
}
num=i*pow10(n/2)+num;
if(num%2 && num>=a && num<=b && prime(num))
printf("%ld\n",num);
}
}
}
}

该学习了。。。
2006-11-10 10:49
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
呵呵!通过了!你能给我讲一下大体思路是什么么?

该学习了。。。
2006-11-10 10:51
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
太谢谢了!真不容易想到啊!

该学习了。。。
2006-11-10 11:18
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
我想把一个数字当成是字符串,然后比较首尾的两个数字是否相同!然后再判断是不是质数!但是我不知道如何下手!而且如果那么做的话!判断是不是回文数的时候,那个返回值应该是什么类型的呢!呵呵!也许我这个钥匙实现的话,比你的时还要长!

该学习了。。。
2006-11-10 11:28
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
呵呵!斑竹的超时了!也许那里还不够优化!

该学习了。。。
2006-11-10 11:32
快速回复:[求助]ACM 1
数据加载中...
 
   



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

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