做公司网站都需要付什么费用,深圳网站建设收费,建设彩票网站多少钱,响应式网站设计布局本题要求实现一种数字加密方法。首先固定一个加密用正整数A#xff0c;对任一正整数B#xff0c;将其每1位数字与A的对应位置上的数字进行以下运算#xff1a;对奇数位#xff0c;对应位的数字相加后对13取余——这里用J代表10、Q代表11、K代表12#xff1b;对偶数位… 本题要求实现一种数字加密方法。首先固定一个加密用正整数A对任一正整数B将其每1位数字与A的对应位置上的数字进行以下运算对奇数位对应位的数字相加后对13取余——这里用J代表10、Q代表11、K代表12对偶数位用B的数字减去A的数字若结果为负数则再加10。这里令个位为第1位。 输入格式 输入在一行中依次给出A和B均为不超过100位的正整数其间以空格分隔。 输出格式 在一行中输出加密后的结果。 输入样例 1234567 368782971输出样例 3695Q8118 #includecstdio
#includecstring
const int maxn 110;
char str1[maxn],str2[maxn],ans[maxn] {0};
void reverse(char str[]){int len strlen(str);for(int i 0; i len/2; i){int temp str[i];str[i] str[len - i - 1];str[len - i - 1] temp;}
}
int main(){scanf(%s %s,str1,str2);reverse(str1);reverse(str2);int len1 strlen(str1);int len2 strlen(str2);int len len1 len2 ? len1 : len2;int i;for(i 0; i len ; i){int numA i len1 ? str1[i] - 0 : 0; //如果ilen1 numAstr[i] 否则 numA0 int numB i len2 ? str2[i] - 0 : 0;//int numA str1[i] - 0;//int numB str2[i] - 0;int temp;if(i % 2 0) { //数字奇数位 str[0] temp (numA numB) % 13;if(temp 10) ans[i] J;else if(temp 11) ans[i] Q;else if(temp 12) ans[i] K;else ans[i] temp 0;} else{temp numB - numA;if(temp 0) temp temp 10;ans[i] temp 0;}}reverse(ans);puts(ans);return 0;
} 转载于:https://www.cnblogs.com/wanghao-boke/p/8547910.html