感觉这题有问题 第一个数 的范围是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;
}
本文探讨了在处理取模运算时遇到的问题,特别关注于取模运算在特定数值范围内的应用,通过实例展示了如何正确处理超出范围的数值,确保算法的准确性。
6万+

被折叠的 条评论
为什么被折叠?



