欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

codeup之特殊乘法

发布时间:2025/5/22 编程问答 40 如意码农
生活随笔 收集整理的这篇文章主要介绍了 codeup之特殊乘法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Description

写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35

Input

两个小于1000000000的数

Output

输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。

Sample Input Copy

24 65
42 66666
3 67

Sample Output Copy

66
180
39

solution(取出每位

#include <stdio.h>
int getNum(int a, int a1[]){
int i = 0;
while(a){
a1[i++] = a % 10;
a /= 10;
}
return i;
}
int main(){
int a, b, a1[10], b1[10], mul, temp;
while(scanf("%d%d", &a, &b) != EOF){
mul = 0;
int n1 = getNum(a, a1), n2 = getNum(b, b1);
for(int i = 0; i < n1; i++){
for(int j = 0; j < n2; j++){
mul += a1[i] * b1[j];
}
}
printf("%d\n", mul);
}
return 0;
}

solution(把输入作为字符串处理

#include <stdio.h>
int getNum(int a, int a1[]){
int i = 0;
while(a){
a1[i++] = a % 10;
a /= 10;
}
return i;
}
int main(){
int a, b, a1[10], b1[10], mul, temp;
while(scanf("%d%d", &a, &b) != EOF){
mul = 0;
int n1 = getNum(a, a1), n2 = getNum(b, b1);
for(int i = 0; i < n1; i++){
for(int j = 0; j < n2; j++){
mul += a1[i] * b1[j];
}
}
printf("%d\n", mul);
}
return 0;
}

总结

以上是生活随笔为你收集整理的codeup之特殊乘法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。