PAT 1058. A+B in Hogwarts (20)

本文探讨了在处理取模运算时遇到的问题,特别关注于取模运算在特定数值范围内的应用,通过实例展示了如何正确处理超出范围的数值,确保算法的准确性。

感觉这题有问题 第一个数 的范围是0-10000000 超过范围i部分应该除去

结果我对10000001取模就错了

#include<vector>
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<map>
#include<stack>
using namespace std;
#define INF 100000000
#define min(a,b) a<b?a:b
int main()
{
    int n,m;
    int sum=0;
    int a[3];
    int b[3];
    int c[3];
    scanf("%d.%d.%d",&a[0],&a[1],&a[2]);
    scanf("%d.%d.%d",&b[0],&b[1],&b[2]);
    int t=0;
    for(int i=2;i>=0;i--)
    {

        switch(i){
        case 0:
            c[i]=a[i]+b[i]+t;
                break;
        case 1:
          c[i]=(a[i]+b[i]+t)%17;
          t=(a[i]+b[i]+t)/17;
                break;
        case 2:

                c[i]=(a[i]+b[i]+t)%29;
                t=(a[i]+b[i]+t)/29;
                break;
        }

    }
    for(int i=0;i<3;i++)
       if(i==0)
        printf("%d",c[i]);
    else
        printf(".%d",c[i]);
    printf("\n");
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值