• ZOJ Problem Set


      属于水题,主要是涉及到回文问题。

      这里标注下进制转换的方法:

      

    while(n)
    {
      p[i]=n%basis;
      n/=basis;        
    }

    见代码:

    #include <stdio.h>
    
    int revert(int n,int base)
    {
    	int p[20];
    	int i=0;
    	while(n)
    	{
    		p[i++]=n%base;
    		n/=base;
    	}
    
    	int ispar=1;
    
    	for(int j=0,k=i-1;j<k;j++,k--)
    	{
    		if(p[j]!=p[k])
    		{
    			ispar=0;
    			break;
    		}
    	}
    
    	return ispar;
    }
    
    int main()
    {
    	int n;
    	while(scanf("%d",&n)!=EOF&&n)
    	{
    		int result[15];
    		int r=0,i;
    
    		for(i=2;i<=16;i++)
    		{
    			int ispar=revert(n,i);
    
    			if(ispar)
    			{
    				result[r++]=i;
    			}
    		}
    
    		if(r)
    		{
    			printf("Number %d is palindrom in basis",n);
    			for(i=0;i<r;i++)
    				printf(" %d",result[i]);
    			printf("
    ");
    		}
    		else
    		{
    			printf("Number %d is not a palindrom
    ",n);
    		}
    	}
    
    	return 0;
    }
    

      

  • 相关阅读:
    Oracle函数题
    多态
    继承
    封装
    属性和修饰符
    方法重载
    构造方法
    类与实例
    SQL Server 2005 To Oracle
    Toad for Oracle 使用文档
  • 原文地址:https://www.cnblogs.com/xlturing/p/3318048.html
Copyright © 2020-2023  润新知