题目原文
题目描述
金老板有个保险箱,存放着他各地收集来的宝石。他很害怕别人知道了他的密码后,盗取他的财宝,所以定制了一个有“智慧”的密码箱。每次开锁的密码都不相同,但是金老板每次都能准确开锁。
原来这个保险箱的密码是遵从某种规律变换的。每次开锁时保险箱会根据原始密码产生一个数字,用这个数字与原始密码生成一个新密码。规则如下:
-
数字是原始密码的所有数字之和,若超过9,则只保留个位数;
-
原始密码的每一位加上这个新产生的数,就是新密码;
-
如果加上后的数超过9,则只保留个位数;
譬如原始密码为7314,产生的数是5,每一位密码加5,所以新密码就是2869。
请编写一个程序,算出下一次的密码。
输入
输入一个数字字符串,以换行符结束(原始密码)
输出
输出新的密码
样例
输入样例1
7314
输出样例1
2869
输入样例2
0057
输出样例2
2279
AC代码
#include <stdio.h>
#include <string.h>
char s[111];
int main()
{
scanf("%s", s);
int sum = 0;
for (int i = 0; i < strlen(s); i++)
sum += s[i] - '0';
sum %= 10;
for (int i = 0; i < strlen(s); i++)
s[i] = (s[i] - '0' + sum) % 10 + '0';
printf("%s", s);
return 0;
}