解一道面试题——华为社招现场面试1:请使用代码计算1234567891011121314151617181920*2019181716151413121110987654321 。
2012-10-16 20:17
555 查看
华为社招现场面试1:请使用代码计算1234567891011121314151617181920*2019181716151413121110987654321 。
代码如下:
缺点:浪费你存。每一位竟然用了一个整数来标志。
看结果:
代码如下:
#include <stdio.h> #include <stdlib.h> void computing(int* array1,int* array2,int* array3,int array1_length,int array2_length,int array3_length); void main() { int array_1[31];//1234567891011121314151617181920 int array_2[31];//2019181716151413121110987654321 int a1[5]={4,4,4,4,4}; int a2[5]={2,2,2,2,2}; int a3[3]; int i,j,k; int array_3[100]; //a1[5]={1,2,3,4,5}; //a2[5]={5,4,3,2,1}; for (i=0;i<3;i++) { a3[i]=9; } for (i=0;i<100;i++) { array_3[i]=0; } //初始化array_1[]和array_2[] for (i=1,j=-1;i<21;i++) { if (i<10) { j++; array_1[j]=i; array_2[30-j]=i; } else { j=j+2; array_1[j]=i%10; array_1[j-1]=i/10; array_2[30-j]=i/10; array_2[30-j+1]=i%10; } } //输出:array_1[]和array_2[] printf("array_1:"); for (i=0;i<31;i++) { printf("%d",array_1[i]); //printf("\n"); } printf("\n"); printf("array_2:"); for (i=0;i<31;i++) { printf("%d",array_2[i]); //printf("\n"); } printf("\n"); /*for (i=30;i>=0;i--) { k=69+i; for (j=30;j>=0;j--) { array_3[k]=array_3[k]+array_1[j]*array_2[i]; if (array_3[k]>=10) { array_3[k-1]=array_3[k-1]+array_3[k]/10; array_3[k]=array_3[k]%10; } k--; } }*/ //computing(array_1,array_2,array_3,31,31,100); computing(array_1,array_2,array_3,31,31,100); for (i=0;i<100;i++) { if (array_3[i]>0) { int j=i; for (j=i;j<100;j++) { printf("%d",array_3[j]); } break; } //printf("%d",array_3[i]); } } void computing(int* array1,int* array2,int* array3,int array1_length,int array2_length,int array3_length) { int i,j,k; for (i=array1_length-1;i>=0;i--) { k=array3_length-array1_length+i; for (j=array2_length-1;j>=0;j--) { array3[k]=array3[k]+array1[j]*array2[i]; if (array3[k]>=10) { array3[k-1]=array3[k-1]+array3[k]/10; array3[k]=array3[k]%10; } k--; } } }
缺点:浪费你存。每一位竟然用了一个整数来标志。
看结果:
相关文章推荐
- 代码详解の使用CountDownLatch解决面试问题:T1和T2线程执行计算,T3线程计算结果的统计
- 一道华为的面试题,给出当前时间计算下一秒的时间
- 一道关于索引的使用和key_len的计算的面试题
- 华为的一道初步面试题,面试C++的
- 关于华为一道面试题 ( ++a )和( a++ )
- 代码覆盖率计算利器:DotCover的使用(含Manual Test)
- 使用console进行 性能测试 和 计算代码运行时间
- 简单一道排序题,考倒多少读书人!——从华为一道面试题浅谈计算机专业在校大学生该如何学习专业课程,信心百倍挑战就业!
- 华为的一道C语言面试题
- 分别计算二叉树奇数层和偶数层的和-- 一道amazon面试题
- C#与.NET程序员面试宝典 2.2.2 面试题9:如何使用实时编译进行代码优化
- 2012年校园招聘华为一道面试题---之我的解法
- 看完一网友使用定义法计算定积分(速度与位移)的C代码而有所感
- [面试小题目] SAP的一道面试题
- 测试开发面试的Linux面试题总结之一:vim使用方法
- php使用microtime(true)计算php程序代码执行消耗时间
- 用代码验证阿里巴巴的一道关于男女比例的面试题
- 华为(2007年3月)一道面试题: c语言判断一个正整数, 是否是一个对称数
- 面试唐骏------从微软的一道面试题谈问题解决之道
- 网摘一道百度2014年9月25日面试题(题目是网上看到的,代码是自己写的)