hdu4278&poj2719--Faulty Odometer--进制转换
来源:互联网 发布:淘宝这个行业 编辑:程序博客网 时间:2024/04/29 19:44
先说下poj2719吧,
题目链接:http://poj.org/problem?id=2719
第一次做进制转换,没做过,非常二货地模拟了好久。
实际上非常简单,就是一个9进制的数转成一个10进制的数。
以下是代码:
#include <cstdio>using namespace std;char a[20];int ans;void cal(int n){ int cnt=0; while(n) { a[cnt++]=n%10+'0'; if(a[cnt-1]>'4') a[cnt-1]-=1; n/=10; } for(int i=cnt-1;i>=0;--i) { ans*=9; ans+=a[i]-'0'; }}int main(){ int n; while(~scanf("%d",&n),n) { ans=0; cal(n); printf("%d: %d\n",n,ans); } return 0;}
下一题是去年的一道网络预选赛的题目(HDU4278),
比上面那道题还要简单!
因为有两个数,
所以为8进制转10进制数!!!
第一种做法,和上面那种差不多,
代码如下:
#include <cstdio>using namespace std;int wei[20];int ans;void cal(int n){ ans=0; int cnt=0; while(n) { wei[cnt++]=n%10; n/=10; } for(int i=0;i<cnt;++i) { if(wei[i]>8) wei[i]-=2; else if(wei[i]>3) wei[i]-=1; } for(int i=cnt-1;i>=0;--i) { ans*=8; ans+=wei[i]; }}int main(){ //freopen("input.txt","r",stdin); int n; while(~scanf("%d",&n),n) { cal(n); printf("%d: %d\n",n,ans); } return 0;}
因为是8进制,
所以可以sscanf!+%o(读入一个8进制数),PS:%x(读入一个16进制数)
新知识1:
%a,%A 读入一个浮点值(仅C99有效)
%c 读入一个字符
%d 读入十进制整数
%i 读入十进制,八进制,十六进制整数
%o 读入八进制整数
%x,%X 读入十六进制整数
%s 读入一个字符串,遇空格、制表符或换行符结束。
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。
%p 读入一个指针
%u 读入一个无符号十进制整数
%n 至此已读入值的等价字符数
%[] 扫描字符集合
%% 读%符号
新知识2:
scanf是从stdin中读入数据,而sscanf是从一个字符串读入数据!!!!!!!!!!!!!!!!!
以下是代码:
#include <cstdio>#include <cstring>using namespace std;char a[20];int main(){ //freopen("input.txt","r",stdin); while(~scanf("%s",a)) { int n=0,ans,len=strlen(a); if(strcmp(a,"0")==0) break; for(int i=0;i<len;++i) { n=n*10+a[i]-'0'; if(a[i]>'8') a[i]-=2; else if(a[i]>'3') a[i]-=1; } sscanf(a,"%o",&ans); printf("%d: %d\n",n,ans); } return 0;}
- hdu4278&poj2719--Faulty Odometer--进制转换
- HDU4278 Faulty Odometer(进制转化问题)
- HDU4278 Faulty Odometer
- hdu4278 Faulty Odometer (进制)
- hdu4278 Faulty Odometer 八进制转十进制
- hdu 4278 Faulty Odometer(进制转换,找规律)
- POJ-----2719---Faulty Odometer---进制转换(水题)
- Sicily 1240. Faulty Odometer | 进制理解及转换
- hdu4278 Faulty Odometer(反常规则水题--八进制)
- HDU 4278 Faulty Odometer 转化进制
- HDU 4278 (POJ 2719有点不同)Faulty Odometer(进制转换)
- 2012天津赛区网络赛第一题---Faulty Odometer(hdu4278)
- HDU 4278 Faulty Odometer 进制转化问题
- HDU ACM 4278 Faulty Odometer 进制映射
- Faulty Odometer
- Faulty Odometer
- Faulty Odometer
- Faulty Odometer
- Qt5项目在windows环境下发布所需依赖库
- Linux多线程服务端编程(笔记1)
- sessionId 与 URL重写
- 为已有的web project项目加入maven支持,并使用myeclipse的插件.
- (step8.2.9)hdu 2147(kiki's game)
- hdu4278&poj2719--Faulty Odometer--进制转换
- 最近看过的书单(4)
- 《UNIX网络编程——Socket Networking API》(3rd,Vol1)读书笔记(3)
- HTML5 事件属性
- POJ-1385 多边形重心
- hdu 1003 Max Sum(连续最大和)
- 基于缓冲字符输入输出流复制文本文件
- 别再期待别人的认可
- Distinct Subsequences 不同子序列