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 ...
随机推荐
- 请给出异步加载js方案
请给出异步加载js方案,不少于两种 默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很 ...
- CAFFE安装 CentOS无GPU
前记 由于是在一台用了很久的机器上安装caffe,过程比较复杂,网上说再干净的机器上装比较简单.如果能有干净的机器,就不用再过这么多坑了,希望大家好运!介绍这里就不说了,直接进入正题: Caffe 主 ...
- 如何搭建MVC3与配置models层
1.1 新建项目 第一步:打开Vs2010界面,点击左上角文件,点击新建,选择项目 1.1(图1) 第二步:点击网站Web类型,选择ASP.net MVC3 Web应用程序,在名称中输入项目名称(解决 ...
- Swift互用性:与 Cocoa 数据类型共舞(Swift 2.0版)-b
本节内容包括: 字符串(Strings) 数值(Numbers) 集合类(Collection Classes) 错误(Errors) Foundation数据类型(Foundation Data T ...
- java web 组件Listenter(一)
JavaWeb中监听器的事件源(ServletContext.HttpSession.ServletRequest.JavaBean) 1.ServletContext 生命周期监听:ServletC ...
- 创建局域网内远程git仓库,并将本地仓库push推到远程仓库中
转载请注明出处 http://www.goteny.com/articles/2014/06/136.html http://www.cnblogs.com/zjjne/p/3778640.html ...
- Visual studio code (vscode)
调东西 : 左上角 File -> Preferences -> Workspace Settings ( User Settings 也可以, 它是 for 所有的 project, W ...
- Es kibana
http://kibana.logstash.es/content/kibana/v4/setup/production.html
- cf C. Divisible by Seven
http://codeforces.com/contest/376/problem/C 题意:给你一个大数最多含有10^6个数字,这里面必须含有1,6,8,9,然后重新排列找出一个能被6整除的数. 思 ...
- armv8(aarch64)linux内核中flush_dcache_all函数详细分析
/* * __flush_dcache_all() * Flush the wholeD-cache. * Corrupted registers: x0-x7, x9-x11 */ ENTRY( ...