PAT(B) 101-111-1-2014-03-01

来源:互联网 发布:网络营销策划书怎么写 编辑:程序博客网 时间:2024/06/06 02:26

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 longint 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;}


0 0
原创粉丝点击