One Day One Step 之Dual Palindromes
2014-03-05 19:23
423 查看
这一道题跟上一道十分的接近,没有什么可说的~
#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 10000 void transtostr( int num, int base, char * numtostring ) { int i = 0; while( num > 0 ) { *( numtostring + i ) = ( num % base ) + '0'; num /= base; i++; } } int isPalindromic( char * str, int len ) { int i; int isP = -1; for( i = 0; i <= len / 2; i++ ) { if( *( str + i ) != *( str + len - 1 - i ) ) { isP = 0; break; } } return isP == 0 ? -1 : 1; } int main() { FILE * fin = freopen( "dualpal.in", "r", stdin ); FILE * fout = freopen( "dualpal.out", "w", stdout ); unsigned int startnum; int amountneed; int tmp_need = 0; int tmp_base; int tmp_num; int tmp_time = 0; char tmp_str[ N ] = {0}; int tmp_len; fscanf( fin, "%d%u", &amountneed, &startnum ); for( tmp_num = startnum + 1; tmp_need < amountneed; tmp_num++ ) { for( tmp_base = 2, tmp_time = 0; tmp_time < 2 && tmp_base <= 10; tmp_base++ ) { memset( tmp_str, 0, N ); transtostr( tmp_num, tmp_base, tmp_str ); tmp_len = strlen( tmp_str ); if( isPalindromic( tmp_str, tmp_len ) == 1 ) { tmp_time++; } } if( tmp_time == 2 ) { tmp_need++; fprintf( fout, "%d\n", tmp_num ); } } return 0; }
相关文章推荐
- One Day One Step之图论(1)
- One Day One Step之平面分割问题
- One Day One Step 之Greedy Gift Givers
- One Day One Step 之Milking Cows
- One Day One Step 之Palindromic Squares
- One Day One Step 之Codeforce(2014.03.06)
- One Day One Step 之贪心算法(1)
- One Day One Step 之全错位排序
- Dual Palindromes(USACO)
- One day configuring network in Ubuntu 10.4
- one day php. alomost all;
- 实训day-one
- Learn these technical skills within one day
- USCAO section 1.2 Dual Palindromes
- Xbox One China Day One开箱图2
- [77] The pursuit of Happiness-Part 1-One Day at a Time
- Step one:how to search on google efficiently?
- Thoughts at one day
- Little Painter Step by Step-Day 9
- One Step By One Step 解析OkHttp3 - RealCall (二)