PAT(B) 101-111-1-2014-03-01
2014-06-27 09:44
113 查看
1.个位数统计:
2. D进制的A+B
(20)
3.组个最小数
(20)
4.科学计数法
(20)
#include<stdio.h> #include<iostream> #include<string.h> #include<set> #include<vector> #include<map> #include<math.h> #include<queue> #include<string> #include<stdlib.h> #include<algorithm> using namespace std; char s[1005]; int n, a[10]; int main(){ while(gets(s)) { memset(a, 0, sizeof a); for(int i = 0; s[i]; i++) a[s[i]-'0']++; for(int i = 0; i < 10; i++) if(a[i]) printf("%d:%d\n",i,a[i]); } return 0; }
2. D进制的A+B
(20)
#include<stdio.h> #include<iostream> #include<string.h> #include<set> #include<vector> #include<map> #include<math.h> #include<queue> #include<string> #include<stdlib.h> #include<algorithm> using namespace std; #define ll long long int D[1000]; ll a,b,d; int main(){ while(~scanf("%lld %lld %lld",&a,&b,&d)) { ll c = a+b; int top = 0; while(c) { D[top++] = c%d; c/=(ll)d; } if(top==0)D[top++] = 0; for(int i = top-1; i >= 0; i--) printf("%d", D[i]); puts(""); } return 0; }
3.组个最小数
(20)
#include<stdio.h> #include<iostream> #include<string.h> #include<set> #include<vector> #include<map> #include<math.h> #include<queue> #include<string> #include<stdlib.h> #include<algorithm> using namespace std; int a[10]; int main(){ while(~scanf("%d",&a[0])) { bool fir = false; for(int i = 1; i < 10; i++) { scanf("%d",&a[i]); if(a[i] && fir==false) { a[i]--; fir = true; printf("%d",i); } } for(int i = 0; i < 10; i++) while(a[i]--)printf("%d",i); puts(""); } return 0; }
4.科学计数法
(20)
#include<stdio.h> #include<iostream> #include<string.h> #include<set> #include<vector> #include<map> #include<math.h> #include<queue> #include<string> #include<stdlib.h> #include<algorithm> using namespace std; char s[10005]; vector<int>G; void put(){for(int i = 0; i < G.size(); i++)printf("%d",G[i]);} int main(){ while(gets(s)) { G.clear(); if(s[0]=='-')printf("-"); G.push_back(s[1]-'0'); int i = 3; for(; s[i]!='E'; i++) G.push_back(s[i]-'0'); int add = s[++i]=='-'? 1 : -1; int num = 0; for(i++; s[i]; i++) num = num*10 + s[i]-'0'; num *= add; num += (G.size()-1); if(num>=(int)G.size()) { printf("0."); num--; while(num>=G.size())printf("0"), num--; for(i = 0; i < G.size(); i++) printf("%d",G[i]); } else { for(i = 0; i < G.size(); i++) { if(num == G.size()-i)printf("."); printf("%d",G[i]); } } while(num<0)printf("0"), num++; puts(""); } return 0; }
相关文章推荐
- PAT(B) 101-111-1-2014-03-01
- PAT(A) 101-133-1-2016-03-12 A. Finding Average (20)
- connect 是 errno 为111 115 101 22 错误分析
- PAT(A) 101-116-2-2014-09-06
- connect 是 errno 为111 115 101 22 错误分析
- 二叉树——leetcode101/leetcode102/leetcode110/leetcode111/leetcode112/leetcode257
- Sample Input72 101 108 108 111 44Sample Output Hello, world!
- PAT(A) 101-140-3-2016-12-10 考试总结
- ubuntu connect 是 errno 为111 115 101 22 错误分析
- 初学acmer--读《算法竞赛入门经典》笔记 p110-111 Uva101
- PAT(B) 101-139-2-2016-09-11 考试总结
- ;ameblo.jp/ascxvxcb
- connect 是 errno 为111 115 101 22 错误分析
- PAT1002
- PAT 1104. Sum of Number Segments (20)
- PAT-B 1061. 判断题
- [101]一步一步学懂spring - 使用Java配置的方式搭建SpringMvc
- PAT 1066. 图像过滤(15)
- LeetCode: Symmetric Tree [101]
- PAT 1107. Social Clusters (30)