如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。

USACO/dualpal

来自"NOCOW"

跳转到: 导航, 搜索
这是USACO Chapter 1 .2中的OI题目Dual Palindromes介绍及题解,参见 翻译C语言代码C++语言代码Pascal语言代码

[编辑] 分析

因为数据很小,所以只需要从s开始枚举每个十进制数然后判断就行了。

参见 进制转换 但并非最优算法

[编辑] 参考代码

c

pascal

C++

[编辑] 引用

[1] / * ID:screwy_2 PROG:dualpal LANG:C++

  • /
  1. include <fstream>

using namespace std;

ifstream fin("dualpal.in"); ofstream fout("dualpal.out");

int thehui(int i,int j){

   int  s[20];
   int h=0;
   while ( i!=0 ){
         s[h]=i%j;
         i/=j;
         h++;
         }
   int lt;
   for ( lt=0; lt<h ; lt ++ )
       if ( s[lt]!=s[h-lt-1] ) return 1;
   return 0;

}


int hui(int i){

   int j,num=0;
   for (j=2;j<=10;j++){
       if ( thehui(i,j)==0 ) {
            num++;
            if ( num==2 ) return 0;}
            }
   return 1;

}

int main () {

   int n,s;
   fin >> n >> s;
   int num=0,i=s;
   while ( num < n ) {
         i++;
         if ( hui(i)==0 ) {
              num++;
              fout << i << endl;
              }
              }
   return 0;

}

[2]

个人工具