hdu 5062
题意:将10^0-10^6之间属于 "Beautiful Palindrome Number" 的数个数打印出来,所谓 "Beautiful Palindrome Number"
是指一中回文串数字,比如123321或者12321,类似于这种的数........
分析:代码我是直接打表出来的,因为T<=7,N<=6,数据不大.....
AC代码:
#include <iostream>
using namespace std; int main()
{
int T,N;
int a[8] = {1,9,18,54,90,174,258};
scanf("%d",&T);
while(T--)
{
scanf("%d",&N);
printf("%d\n",a[N]);
}
return 0;
}
具体算法这里我贴下另外以为大神写的:
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
const int maxn = 1000000+5; int f[maxn];
int huiwen(int n)//写一个回文函数
{
char array[10];
sprintf(array,"%d",n);//将整数N按%d的形式读入字符串中
int len = strlen(array);//求出字符串的长度
int flag = 1;//设置一个标志变量
if(len%2 == 0)
{
for(int j = 0; j < len/2; j++)//当长度为偶数时,j<len/2
{
if(array[0] != array[len-1] && j == 0)//因为该回文数的各个位是递增的,所以要判断每一位与前一位的大小关系,当j=0时,要特判
{
flag = 0; break;
}
if((array[j] != array[len-j-1] || array[j-1] >= array[j]) && j > 0)//当j>0时,要判断每一位与前一位的大小关系和len-j-1位置是否相等
{
flag = 0; break;
}
}
}
else
{
for(int j = 0; j <= len/2; j++)//当为奇数时,j <= len/2
{
if(array[j] != array[len-j-1] && j == 0)
{
flag = 0; break;
}
if((array[j] != array[len-j-1] || array[j-1] >= array[j]) && j > 0)
{
flag = 0; break;
}
}
}
if(flag) return 1;
else return 0;
} int main()
{
int T,N;
int sum = 0,cas = 0;
for(int i = 1; i < 1000001; i++)
{
sum +=huiwen(i);//sun直接对每个数返回的值进行累加,Beautiful回文越大的,sum自然也越大
if(huiwen(i))printf("%d %d\n",++cas,i);//可以输出每一个Beautiful回文数
f[i] = sum;
}
scanf("%d",&T);
while(T--)
{
scanf("%d",&N);
int temp = pow(10,N);
printf("%d",f[temp]);//直接输出
}
return 0;
}
hdu 5062的更多相关文章
- BestCoder13 1001.Beautiful Palindrome Number(hdu 5062) 解题报告
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5062 题目意思:给出 N,找出 1 - 10^N 中满足 Beautiful Palindrome N ... 
- HDU 5062 Beautiful Palindrome Number(数学)
		主题链接:http://acm.hdu.edu.cn/showproblem.php? pid=5062 Problem Description A positive integer x can re ... 
- hdu 5062 单峰数(12321)的个数
		http://acm.hdu.edu.cn/showproblem.php?pid=5062 模拟筛出对称单峰数(12321)的个数,水题 #include <cstdio> #inclu ... 
- hdu 5062(水题)
		Beautiful Palindrome Number Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (J ... 
- HDU 4433 locker(12年天津,DP)
		4576 njczy2010 C Accepted 860 KB 140 ms G++ 2063 B 2014-10-16 09:51:19 哎,为啥1000*100*100的复杂度的dp就不敢敲了呢 ... 
- HDOJ 2111. Saving HDU 贪心 结构体排序
		Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ... 
- 【HDU 3037】Saving Beans Lucas定理模板
		http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ... 
- hdu 4859 海岸线 Bestcoder Round 1
		http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ... 
- HDU 4569 Special equations(取模)
		Special equations Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ... 
随机推荐
- EclipsePHP Studio 常用设置笔记
			工作需要,学习PHP使用EclipsePHP Studio开发工具, 习惯整理下常用的使用设置,分享一下吧: 1.窗口-首选项-常规-工作空间,把文本文件编码改为utf8,以后再新建文件就默认是utf ... 
- 由于权限不足而无法读取配置文件出现的HTTP 500.19解决办法
			无法访问请求的页面,因为该页的相关配置数据无效. 如下图: 解决方法, 到站点目录的属性,安全标签,添加用户(Everyone),并给修改权限: 
- uva 10382 - Watering Grass(区域覆盖问题)
			Sample Input 8 20 2 5 3 4 1 1 2 7 2 10 2 13 3 16 2 19 4 3 10 1 3 5 9 3 6 1 3 10 1 5 3 1 1 9 1 Sample ... 
- python numpy 使用笔记 矩阵操作
			(原创文章转载请标注来源) 在学习机器学习的过程中经常会用到矩阵,那么使用numpy扩展包将是不二的选择 建议在平Python中用多维数组(array)代替矩阵(matrix) 入门请考 http:/ ... 
- PHP简单获取数据库查询结果并返回JSON
			<?php header("Content-type:text/html;charset=utf-8"); //连接数据库 $con = mysql_connect(&quo ... 
- Extjs4.1.x使用Application动态按需加载MVC各模块
			我们知道Extjs4之后提出了MVC模块开发,将以前肥厚的js文件拆分成小的js模块[model\view\controller\store\form\data等],通过controller拼接黏合, ... 
- Delphi COM编程学习笔记(1)
			释放接口对象,既不是调用MyObj.Free,也不是MyObj.Release;破坏对象的正确方法是将它们设置为nil:MyInterface := nil; 一个接口不能离开实现它的对象而独立存活. ... 
- zznu  1255   数字统计(数位DP, 数学方法)
			最近在学数位DP, 感觉还是满有收获的! 做了几个题之后想起来自己OJ上曾经做的一道题,以前是用数学方法写的,现在改用数位DP来写了一遍. 题目: 1255: 数字统计 时间限制: 1 Sec 内存 ... 
- 【转】byte[]数组比较(内容比较)--不错
			原文网址:http://amanda.blog.51cto.com/7238262/1215118 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责 ... 
- 多线程同步、异步(BeginInvoke)
			一.线程的基础知识 1 System.Threading.Thread类 System.Threading.Thread是用于控制线程的基础类,通过Thread可以控制当前应用程序域中线程的创建.挂起 ... 
