SDUT_2502:火星计数法
2024-08-30 06:08:32
火星人的计数规则里只有a,b,c,d四个字母,计数规则从小到大是 a,b,c,d,aa,ab,ac,ad,ba,……。
给出来由a,b,c,d四种字母组成的火星数字,算出该数字是第几个(从1开始)。
输入
第一行输入一个数T代表测试用例组数(T<=200),接下来T组测试用例,每组测试数据为一个火星数字(长度小于100)。
输出
对于每组测试用例,输出该火星数字代表多少(结果对10000007取模)。每行输出一个结果。
示例输入
2
a
ab
示例输出
1
6
分析:从标题本身就能看出来,该题属于进制转换类型的。类比十进制计数法,我们知道1234 = 1*1000 +2*100 + 3*10 + 4; 或者更加适合程序语言描述的方式1234 = ( ( ( 1*10+2)*10+3 )*10) + 4。因此,对于四进制我们有:
#include<stdio.h>
#include<string.h>
#define MOD 10000007
int main(void)
{
int n, ans, len;
char str[]; scanf("%d", &n);
while(n--)
{
scanf("%s", str); len = strlen(str);
ans = ;
for(int i = ; i < len; i++)
ans = (ans* + str[i] - 'a' + ) % MOD;
printf("%d\n", ans);
} return ;
}
最新文章
- java中的泛型的使用与理解
- webrtc初识
- apache https配置
- Pjax.js防刷新技术
- unsatisfied类型的异常
- C#获取相对路径的方法
- 文本信息“welcome to java programming!”
- Android布局大全
- ASP.NET中的事件处理
- SQLServer排序时与读取的记录会影响到结果?
- DataGridView插入一行数据和用DataTable绑定数据2种方式
- cmd命令行
- 【BZOJ2157】旅游(树链剖分,Link-Cut Tree)
- 【原创】navicat for sqlite 11.1.12 patch 永久试用 不报毒
- 不显示TensorFlow加速指令警告
- IOS-企业开发人员账号&;amp;邓白氏码申请记录
- 奇怪吸引子---NoseHoover
- Linux查看进程运行的完整路径方法
- 洛谷乐多赛 yyy loves Maths VI (mode)
- mvc 权限验证
热门文章
- linux下C++遍历文件夹下的全部文件;Windows/Linux下C++批量修改文件名,批量删除文件
- TZ_11_Spring-Boot的整合SpringMvc和MyBatis
- 理解es6箭头函数
- 调用本地摄像头并通过canvas拍照
- Hackerrank--Mixing proteins(Math)
- idea中使用本地jar包
- Javascript-商品管理新增/删除/修改功能
- Vue Router 相关
- Django静态文件以及模板文件的配置 jQuery v1.12.4
- ES6 中变量的解构赋值