c 语音代码 蒜头君认为一个正整数的幸运度是把它的每一位取出来,对从左数第 � i 位的数乘上 � i ,再把每一位算出的乘积加起来的结果。比如 9876 9876 的幸运度就是 9 × 1 + 8 × 2 + 7 × 3 + 6 × 4 = 70 9×1+8×2+7×3+6×4=70 。 现在蒜头君想让你帮忙算算正整数 � N 的幸运度。 输入格式 输入一行,包含一个整数 � ( 1 ≤ � < 1 0 100000 ) N(1≤N<10 100000 ) 。 输出格式 输出一行,包含一个整数,表示 � N 的幸运度。 数据范围 对于 60 % 60% 的数据, 1 ≤ � < 1 0 9 1≤N<10 9 对于 80 % 80% 的数据, 1 ≤ � < 1 0 18 1≤N<10 18 对于 100 % 100% 的数据, 1 ≤ � < 1 0 100000 1≤N<10 100000
时间: 2023-12-29 19:05:24 浏览: 317
以下是使用 C 语言编写的代码:
```c
#include <stdio.h>
int main() {
char n[100005];
scanf("%s", n);
long long sum = 0;
for (int i = 0; n[i]; i++) {
sum += (n[i] - '0') * (i + 1);
}
printf("%lld\n", sum);
return 0;
}
```
思路解析:
首先定义一个字符数组 `n` 来存储输入的正整数,然后使用 `scanf` 函数读入该正整数。
接下来定义一个变量 `sum` 来存储幸运度的值,并初始化为 0。使用 `for` 循环遍历整个正整数 `n`,在循环体内将每一位数字乘以对应的位置,然后加到 `sum` 上。
最后使用 `printf` 函数输出 `sum` 的值即为正整数 `n` 的幸运度。
阅读全文