HDU——5062 Beautiful Palindrome Number
2014-10-12 09:13
302 查看
题意:找出10^0~10^6之间的Beautiful回文个数,Beautiful回文即首先该数是回文,其次右半边是递增,左半边是递减。
思路:将0~10^6之间的Beautiful回文个数找出来打表就ok了。
找出个数打表后的Code:
思路:将0~10^6之间的Beautiful回文个数找出来打表就ok了。
找出个数打表后的Code:
#include <iostream> #include <cstdio> using namespace std; int main() { int T,N; int array[8] = {1,9,18,54,90,174,258};//在找出10的各个次方的Beautiful回文个数后,直接进行打表 scanf("%d",&T); while(T--) { scanf("%d",&N); printf("%d\n",array ); } return 0; }找出0~10^6之间的Beautiful回文个数个数:
#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 Beautiful Palindrome Number——BestCoder Round #13
- HDU 5062 Beautiful Palindrome Number(数学)
- HDU 5062 Beautiful Palindrome Number
- hdu 5062 Beautiful Palindrome Number(模拟)
- HDU 5062 Beautiful Palindrome Number(暴力)
- hdu 5062 Beautiful Palindrome Number(水题)
- HDU 5062 Beautiful Palindrome Number(暴力)
- hdu 5062 Beautiful Palindrome Number( dp )
- 【CUGBACM15级BC第13场 A】hdu 5062 Beautiful Palindrome Number
- HDU 5062 Beautiful Palindrome Number(数学题)
- hdu5062——Beautiful Palindrome Number(模拟)
- HDU-#5062 Beautiful Palindrome Number(Bestcodeer Round #13)
- Beautiful Palindrome Number 美丽的回文数 HD 5062
- 【BestCoder】HDOJ 5062 Beautiful Palindrome Number
- HDOJ 5062 Beautiful Palindrome Number
- Beautiful Palindrome Number(回文数)
- (hdu 5179)beautiful number(数位DP)
- beautiful number HDU - 5179 [数位DP]
- LeetCode -- palindrome_number问题
- HDU 4279 Number(2012年天津网络赛---数论分析题)