合肥市第二十三届“讯飞”杯笔试第一题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/BillHsu1024/article/details/2430510
..

给定N×1的长方形区域(0<N<100),按照从左至右的顺序铺设瓷砖。每次可以铺设1×1的白色瓷砖,也可以铺设2×1的黑色瓷砖,如下图所示。编写函数GetTile(n)计算共有多少种不同的铺法。



#include <iostream>
#include 
<string>
using namespace std;
#define MAX 100
int n;
int f[MAX];
int main()
{
cin 
>>n;
f[
1]=1;
f[
2]=2;
for (int i=3;i<=n;++i)
{
f[i]
=f[i-1]+f[i-2];
}
//end for
cout <<f[n]<<endl;
system (
"pause");
}




..

展开阅读全文

小米2017校园招聘笔试一题

09-24

题目大概说小米有个数字加密算法,先把数字+8取个位,然后把那些数字都换成大写的单词,比如1变成ONE,0变成ZERO,最后再将这些字母随机打乱,就变成了加密后的数字。现在要求给出加密的数字字符串,让你解析出原来的数字,从小到大排列~rn费了好久写完了,结果花线不对,只能保证第一组数据对,后面不知是什么原因就感觉是越界或者怎样,好像是非法了,谁能给看看代码,谢谢啦,让我死个明白~呜呜rn[code=c]#include rn#include rn#include rnvoid bubbleSort(int *arr, int len)rnrn int i, j, flag=0, t;rn for(i = 0; i < len; ++i)rn rn for(j = 0; j < len-1; ++j)rn rn if(arr[j] > arr[j+1])rn rn t = arr[j];rn arr[j] = arr[j+1];rn arr[j+1] = t;rn flag = 1;rn rn rn if(flag == 0)rn break;rn flag = 0;rn rn rnrnint main()rnrn int row_num, i, j, a[26]=0, nums[1000], len, count;rn char arr[10000];rn scanf("%d", &row_num);rn count = row_num;rn while(count--)rn rn scanf("%s", arr);rn //将所有的字母都按照他们在字母表中的位置放在数组里面rn for(i = 0; i < strlen(arr); ++i)rn rn a[(int)(arr[i]-'A')]++;rn rn i = 0;rn //以下对每个数字独特的字母进行处理rn //只有0里面有Z,所以有几个Z就有几个0rn if(a[25])rn while(a[25]--)rn rn nums[i++] = 2;rn a[4]--;rn a[17]--;rn a[14]--;rn rn //只有2有Wrn if(a[22])rn while(a[22]--)rn rn nums[i++] = 4;rn a[19]--;rn a[14]--;rn rn //只有4有Urn if(a[20])rn while(a[20]--)rn rn nums[i++] = 6;rn a[5]--;rn a[14]--;rn a[17]--;rn rn //只有6有Xrn if(a[23])rn while(a[23]--)rn rn nums[i++] = 8;rn a[18]--;rn a[8]--;rn rn //只有8有Grn if(a[6])rn while(a[6]--)rn rn nums[i++] = 0;rn a[4]--;rn a[8]--;rn a[7]--;rn a[19]--;rn rn //在之前处理完成后,剩下的里面只有1有Orn if(a[14])rn while(a[14]--)rn rn nums[i++] = 3;rn a[13]--;rn a[4]--;rn rn //3rn if(a[19])rn while(a[19]--)rn rn nums[i++] = 5;rn a[7]--;rn a[17]--;rn a[4] -= 2;rn rn //5rn if(a[5])rn while(a[5]--)rn rn nums[i++] = 7;rn a[8]--;rn a[21]--;rn a[4]--;rn rn //7rn if(a[18])rn while(a[18]--)rn rn nums[i++] = 9;rn a[4] -= 2;rn a[21]--;rn a[13]--;rn rn //9rn if(a[13])rn while(a[8]--)rn rn nums[i++] = 1;rn a[13] -= 2;rn a[4]--;rn rn len = i;rn bubbleSort(nums, len);rn for(j = 0; j < len; ++j)rn printf("%d", nums[j]);rn printf("\n");rn memset(nums, 0, len);rn memset(a, 0, 26);rn for(j = 0; j < len; ++j)rn printf("%d", nums[j]);rn memset(arr, '\0', strlen(arr));rn rn return 0;rn[/code] 论坛

没有更多推荐了,返回首页