首页 > 代码库 > PAT(B) 101-111-1-2014-03-01
PAT(B) 101-111-1-2014-03-01
1.个位数统计:
#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; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。