【倒计时7,8 day 25/155】
第二章高精度
1024 Palindromic Number回文数
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
bool is_Pnumber(string a){
string b;
b=a;
reverse(b.begin(),b.end());
if(a==b)return true;
return false;
}
string doubled(string a){
string b,res;
b=a;
reverse(b.begin(),b.end());
int tag=0;
for(int i=0;i<a.size();i++){
int temp=a[i]-'0'+b[i]-'0'+tag;
res+=to_string(temp%10);
tag=temp/10;
}
if(tag){
res+=to_string(tag);
}
reverse(res.begin(),res.end());
return res;
}
int main(){
string str;
int step,i;
cin>>str;
scanf("%d",&step);
for(i=0;i<step;i++){
if(is_Pnumber(str)){
break;
}else{
str=doubled(str);
}
}
printf("%s\n%d\n",str.c_str(),i);
return 0;
}
1058 A+B in Hogwarts 霍格沃兹的A+B
#include<iostream>
using namespace std;
int main(){
int a1,a2,a3,b1,b2,b3;
scanf("%d.%d.%d %d.%d.%d",&a1,&a2,&a3,&b1,&b2,&b3);
a1+=b1;
a2+=b2;
a3+=b3;
a2+=a3/29;a3%=29;
a1+=a2/17;a2%=17;
printf("%d.%d.%d\n",a1,a2,a3);
return 0;
}
第十二章 贪心
1037 Magic Coupon魔术券
能用数组就用数组
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int K1,K2,num;
scanf("%d",&K1);
int A[K1+1];
for(int i=0;i<K1;i++){
scanf("%d",&A[i]);
}
scanf("%d",&K2);
int B[K2+1];
for(int i=0;i<K2;i++){
scanf("%d",&B[i]);
}
sort(A,A+K1);
sort(B,B+K2);
int sum=0,i,j;
for(int i=K1-1,j=K2-1;i>=0&&j>=0;i--,j--){
if(A[i]>0&&B[j]>0){
sum+=A[i]*B[j];
}
}
for(int i=0,j=0;i<K1,j<K2;i++,j++){
if(A[i]<0&&B[j]<0){
sum+=A[i]*B[j];
}
}
printf("%d",sum);
return 0;
}