Each input file contains one test case which occupies a line with A and B in the standard form, separated by one space.
For each test case you should output the sum of A and B in one line, with the same format as the input.
3.2.1 10.16.27
14.1.28
#include<stdio.h>
int main()
{
long a[3]={},b[3]={},c[3]={};
scanf("%ld.%ld.%ld %ld.%ld.%ld",&a[0],&b[0],&c[0],&a[1],&b[1],&c[1]);
if(c[0]+c[1]>=29)
{
c[2]=c[0]+c[1]-29;
b[2]++;
}else{
c[2]=c[0]+c[1];
}
if(b[0]+b[1]+b[2]>=17)
{
b[2]+=b[0]+b[1]-17;
a[2]++;
}else{
b[2]+=b[0]+b[1];
}
a[2]+=a[0]+a[1];
printf("%ld.%ld.%ld\n",a[2],b[2],c[2]);
return 0;
}
#include <cstdio>
using namespace std;
struct money
{
int galleon, knut, sickle;
public:
money() {}
money(int g, int s, int k): galleon(g), knut(k), sickle(s){}
public:
money operator+(const money &m) const{
money s;
s.knut = knut + m.knut;
s.sickle = sickle + m.sickle;
s.galleon = galleon + m.galleon;
s.sickle += (s.knut / 29);
s.knut = s.knut % 29;
s.galleon += (s.sickle / 17);
s.sickle = s.sickle % 17;
return s;
}
};
int main(){
int g, s, k;
scanf("%d.%d.%d", &g, &s, &k);
money m1(g, s, k);
scanf("%d.%d.%d", &g, &s, &k);
money m2(g, s, k);
money m = m1 + m2;
printf("%d.%d.%d\n", m.galleon, m.sickle, m.knut);
return 0;
} import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String str1=sc.next();
String str2=sc.next();
String[] moneys1=str1.split("\\.");
String[] moneys2=str2.split("\\.");
int galleon,sickle,knuts;
knuts=Integer.valueOf(moneys1[2])+Integer.valueOf(moneys2[2]);
int flag=0;
if(knuts>=29){
flag=1;
knuts=knuts%29;
}
sickle=Integer.valueOf(moneys1[1])+Integer.valueOf(moneys2[1])+flag;
flag=0;
if(sickle>=17){
flag=1;
sickle=sickle%17;
}
galleon=Integer.valueOf(moneys1[0])+Integer.valueOf(moneys2[0])+flag;
System.out.println(galleon+"."+sickle+"."+knuts);
}
}
/** * 首先数据处理先读取一行字符串 * 然后进行字符串处理 * 把相应的Galleon,Sickle Knut读取出来并且读取的过程就开做加法 * 然后开始做相应的进位***作并行除数取余! * * */
import java.io.*; public class Main{ public static void main(String [] args)throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int Galleon=0; int temp=1; int Sickle=0; int Knut=0; String comString=reader.readLine();// 把第一行的信息读取进来 int i=comString.length()-1; for(int j=5;j>=0;j--) { while (i >=0) { if (comString.charAt(i) == '.' || comString.charAt(i) == ' ') { temp=1; i--; break; } if(j==0||j==3) { Galleon+=(comString.charAt(i) - '0') *temp; } else if(j==1||j==4) { Sickle+=(comString.charAt(i) - '0') *temp; } else if(j==2||j==5) { Knut+=(comString.charAt(i) - '0') *temp; } i--; temp*=10; } } temp=Knut/29; Knut%=29; i=(Sickle+temp)/17; Sickle=(temp+Sickle)%17; Galleon+=i; System.out.println(Galleon+"."+Sickle+"."+Knut); } }
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1, s2;
int a[7];
while (cin >> s1 >> s2) {
for (int i = 0; i < 6; i++) {
a[i] = 0;
}
int l1 = s1.size(), l2 = s2.size();
int tmp = 0;
int num = 0;
for (int i = 0; i < l1; i++) {
if (s1[i] >= '0'&&s1[i] <= '9') {
tmp = tmp * 10 + s1[i] - '0';
}
else if (s1[i] == '.') {
a[num] = tmp;
num++;
tmp = 0;
}
}
a[2] = tmp;
num++;
tmp = 0;
for (int i = 0; i < l2; i++) {
if (s2[i] >= '0'&&s2[i] <= '9') {
tmp = tmp * 10 + (s2[i] - '0');
}
else if (s2[i] == '.') {
a[num++] = tmp;
tmp = 0;
}
}
a[5] = tmp;
int carry = 0;
int ans[3] = { 0 };
ans[2] = (a[2] + a[5]) % 29;
carry = (a[2] + a[5]) / 29;
ans[1] = (a[1] + a[4] + carry) % 17;
carry = (a[1] + a[4] + carry) / 17;
ans[0] = a[0] + a[3] + carry;
cout << ans[0] << '.' << ans[1] << '.' << ans[2] << endl;
}
return 0;
}
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String[] s1=in.next().split("\\.");
String[] s2=in.next().split("\\.");
int[] a=new int[3];
int[] b={-1,17,29};
for(int i=2;i>=0;i--){
a[i]+=Integer.parseInt(s1[i]);
a[i]+=Integer.parseInt(s2[i]);
if(a[i]>=b[i] && b[i]>0){
a[i-1]++;
a[i]%=b[i];
}
}
for(int i=0;i<3;i++){
System.out.print(a[i]);
if(i!=2)
System.out.print(".");
}
}
}
import java.util.Scanner;
public class Main{
private static final int[] W = {100000000,17,29};
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] a = in.next().split("\\.");
String[] b = in.next().split("\\.");
String[] result = new String[3];
int f = 0;
for(int i = 2;i>=0;i--){
int r = Integer.parseInt(a[i])+Integer.parseInt(b[i])+f;
f = r/W[i];
r = r%W[i];
result[i] = ""+r;
}
for(int i = 0;i<2;i++){
System.out.print(result[i]+".");
}
System.out.println(result[2]);
}
}
#include<bits/stdc++.h>
using namespace std;
const int G=17*29;
const int S=29;
int main(){
int a[2],b[2],c[2];
scanf("%d.%d.%d %d.%d.%d",&a[0],&b[0],&c[0],&a[1],&b[1],&c[1]);
long long x=a[0]*G+b[0]*S+c[0];
long long y=a[1]*G+b[1]*S+c[1];
long long z=x+y;
cout<<z/G<<'.'<<z%G/S<<'.'<<z%S<<endl;
return 0;
} #include <bits/stdc++.h>
using namespace std;
struct Coin
{
int a;
int b;
int c;
Coin(int a, int b, int c) : a(a), b(b), c(c) {}
};
struct Coin operator+(const struct Coin p1, const struct Coin p2)
{
int res_c = (p1.c + p2.c) % 29;
int pre_c = (p1.c + p2.c) / 29;
int res_b = (p1.b + p2.b + pre_c) % 17;
int pre_b = (p1.b + p2.b + pre_c) / 17;
int res_a = (p1.a + p2.a + pre_b);
struct Coin p = { res_a, res_b, res_c };
return p;
}
int main()
{
int a1, b1, c1, a2, b2, c2;
//scanf_s("%d.%d.%d %d.%d.%d", &a1, &b1, &c1, &a2, &b2, &c2);
scanf("%d.%d.%d %d.%d.%d", &a1, &b1, &c1, &a2, &b2, &c2);
struct Coin p1 = { a1, b1, c1 };
struct Coin p2 = { a2, b2, c2 };
struct Coin p3 = p1 + p2;
printf("%d.%d.%d\n", p3.a, p3.b, p3.c);
}
#include<iostream>
using namespace std;
int main() {
int g1,s1,k1,g2,s2,k2,g,s,k;
scanf("%d.%d.%d %d.%d.%d",&g1,&s1,&k1,&g2,&s2,&k2);
g=g1+g2;
s=s1+s2;
k=k1+k2;
if(k>28){
k-=29;
s++;
}
if(s>16){
s-=17;
g++;
}
cout<<g<<"."<<s<<"."<<k;
return 0;
}
x=input().strip().split(' ')
a=x[0].split('.')
b=x[1].split('.')
c=[0,0,0]
c[2]=int(a[2])+int(b[2])
if c[2]>=29:
c[1]+=c[2]//29
c[2]=c[2]%29
c[1]+=int(a[1])+int(b[1])
if c[1]>=17:
c[0]+=c[1]//17
c[1]=c[1]%17
c[0]+=int(a[0])+int(b[0])
print(c[0],c[1],c[2],sep='.')
这题很简单
//模拟即可
#include <bits/stdc++.h>
using namespace std;
int A[5],B[5],C[5];
int main(){
char ignore;
scanf("%d%c%d%c%d %d%c%d%c%d",&A[1],&ignore,&A[2],&ignore,&A[3],&B[1],&ignore,&B[2],&ignore,&B[3]);
C[2]+=(A[3]+B[3])/29,C[3]=(A[3]+B[3])%29;
C[1]+=(A[2]+B[2]+C[2])/17,C[2]=(A[2]+B[2]+C[2])%17;
C[1]=A[1]+B[1]+C[1];
printf("%d.%d.%d\n",C[1],C[2],C[3]);
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[3],b[3],c[3];
scanf("%d.%d.%d",&a[0],&a[1],&a[2]);
scanf("%d.%d.%d",&b[0],&b[1],&b[2]);
c[0]=c[1]=c[2]=0;
c[2]=(a[2]+b[2])%29;
c[1]+=(a[2]+b[2])/29+(a[1]+b[1])%17;
c[0]+=(a[1]+b[1])/17+a[0]+b[0];
printf("%d.%d.%d",c[0],c[1],c[2]);
return 0;
}