codeup之特殊乘法
生活随笔
收集整理的这篇文章主要介绍了
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之特殊乘法的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: OpenStack 全套搭建部署指南(基
- 下一篇: 基于预生成 QA 对的 RAG 知识库解