2288: 【基础】小X转进制
2288: 【基础】小X转进制
时间限制: 1 Sec 内存限制: 256 MB
提交: 1316 解决: 576
[提交] [状态] [讨论版] [命题人:ghost79]
题目描述
小X喜欢研究进制转换。
在了解了进制转换的一般流程后,小X突然想起了以前学过的回文数(正着读倒着读都一样的数),于是开始思考一个奇怪的问题:1到N 中有多少个整数的平方在M进制下是回文数呢?
小X随手列了几个:
2的平方4,10进制表示为4,是回文数;
3的平方9,2进制表示为 1001,是回文数;
9046的平方81830116,16进制表示为4E0A0E4,是回文数。
小X觉得要全列出来太难了,希望你帮帮他。
输入
第一行包含用一个空格隔开的两个整数N,M。
输出
第一行包含一个整数,表示满足要求的整数个数。
样例输入
2 10
样例输出
2
提示
数据范围
对于30%的数据,M=10。
对于另外30%的数据,M=2。
对于 100%的数据,1≤N≤10000,2≤M≤16。
来源/分类
常州市2015“信息与未来”夏令营选拔赛
题解如下
#include<stdio.h>
#include<string.h>
int main()
{
int m,b;
scanf("%d%d",&m,&b);
int sum=0;
for(int o=1;o<=m;o++)
{
int n=o*o;
char ar[20];
for(int i=0;i<20;i++)
{
if(i<=9)
ar[i]=i+'0';
else
ar[i]=i+55;
}
char result[999];
int count_zero=0;
int position=0;
if(n==0)
{
//printf("0");
result[position++]='0';
}
else
{
for(int i=0; ;i++)
{
if(n%b==0)
{
count_zero++;
n/=b;
}
else
break;
}
for(int j=0; ;j++)
{
if(n/b!=0)
{
//printf("%c\n",ar[n%b]);
result[position++]=ar[n%b];
n/=b;
//printf("@\n");
}
else
{
//printf("#\n");
// printf("%c\n",ar[n]);
result[position++]=ar[n];
break;
}
}
for(int i=0;i<count_zero;i++)
//printf("0");
result[position++]='0';
}
int LEN_re=(int)strlen(result);
//printf("%d\n\n",LEN_re);
int flag=1;
for(int i=0;i<LEN_re/2;i++)
{
if(result[i]!=result[LEN_re-1-i])
flag=0;
}
if(flag==1)
sum++;
}
printf("%d",sum);
return 0;
}
2288: 【基础】小X转进制的更多相关文章
- 1272: 【基础】求P进制数的最大公因子与最小公倍数
1272: [基础]求P进制数的最大公因子与最小公倍数 时间限制: 1 Sec 内存限制: 16 MB 提交: 684 解决: 415 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 ...
- [c/c++] programming之路(7)、数据类型转换、偷钱小程序、进制转换
一.数据类型转换 #include<stdio.h> //某些场合,必须进行数据类型转换,以匹配调用 void main0(){ printf();//printf不管你是什么类型,解析失 ...
- 基础笔记1(进制,浮点,递归,floor,round和ceil)
1,进制默认是十进制 0开头 8进制 0x 16进制 0b 2进制 2,long 的范围是19位数字.int范围是21亿左右,short 是三万二千左右. 超过int范围的long类型 ...
- 【java基础】妙记进制转换
一.二进制与十进制 1.正整数十进制转二进制 口诀:除二取余,倒序排列 解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取将除得的余数,即换算为二进制数的结果 例如把5 ...
- 【搬砖】安卓入门(2)- Java开发编程基础--进制转换和运算符
02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 ...
- Python3基础(2)模块、数据类型及运算、进制、列表、元组、字符串操作、字典
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- java基础:进制详细介绍,进制快速转换,二维数组详解,循环嵌套应用,杨辉三角实现正倒直角正倒等腰三角,附练习案列
1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 1.2 Debug介绍与操作流程 如何加断点 选择 ...
- 零基础学习java------day2------关键字、标志符、常量、进制键的转换、java中的数据类型、强制类型转换的格式
今日内容要求: 1. 了解关键字的概念及特点,了解保留字 2. 熟练掌握标识符的含义,特点,可使用字符及注意事项 3. 了解常量的概念,进制,进制之间相互转换,了解有符号标识法的运算方式 4. 掌握变 ...
- JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)
1.命令行方式 dos命令行,常见的命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd/:退回到根目录 del:删除文 ...
随机推荐
- .NET CORE之Authentication
这篇文章以实现一个Basic认证来了解下在 .NET CORE 下面如何去实现认证. 首先可以肯定的是认证实现是基于 Middlerware 管道实现的,官方源码地址:https://github.c ...
- 使用ajax提交登录
引入jquery-1.10.2.js或者jquery-1.10.2.min.js 页面 <h3>后台系统登录</h3> <form name="MyForm&q ...
- R中character和factor的as.integer的不同
记录一个容易犯错的地方. 用chr标记的0~1变量可以变为整数0和1, 而用因子factor标记的变量转换为整数时总是从1开始. 如果不注意区分就会发生令自己困惑的错误.
- php里面的一些面试经典的函数
<?php /* 这是一个多线程的读取解决的函数 @param1 $fle 传入要读取的文件名 */ function filelock($fle){ $fp=fopen($fls,'w+'); ...
- HTML实体符号代码
1. 特色的 © © © 版权标志 | | 竖线,常用作菜单或导航中的分隔符 · · · 圆点,有时被用来作为菜单分隔符 ↑ ↑ ↑ 上箭头,常用作网页“返回页面顶部”标识 € € € 欧元标识 ...
- 人见人爱A-B 题解
参加过上个月月赛的同学一定还记得其中的一个最简单的题目,就是{A}+{B},那个题目求的是两个集合的并集,今天我们这个A-B求的是两个集合的差,就是做集合的减法运算.(当然,大家都知道集合的定义,就是 ...
- js 验证输入框是否为空
很多时候,菜鸟在对输入框是否输入值进行验证时,总会把输入“空字符串”这一状况给忽略掉.嗯,我就这样,所以记下,以后回忆下还是不错滴 <input type="text" id ...
- 覆盖io.spring.platform管理的版本号
使用io.spring.platform时,它会管理各类经过集成测试的依赖版本号.想要覆盖其中某个依赖的版本号个: https://www.cnblogs.com/ld-mars/p/11818252 ...
- Java多线程并发07——锁在Java中的实现
上一篇文章中,我们已经介绍过了各种锁,让各位对锁有了一定的了解.接下来将为各位介绍锁在Java中的实现.关注我的公众号「Java面典」了解更多 Java 相关知识点. 在 Java 中主要通过使用sy ...
- 小白学 Python 数据分析(19):Matplotlib(四)常用图表(下)
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...