南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版.docx

上传人:b****8 文档编号:23660977 上传时间:2023-05-19 格式:DOCX 页数:7 大小:15.57KB
下载 相关 举报
南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版.docx_第1页
第1页 / 共7页
南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版.docx_第2页
第2页 / 共7页
南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版.docx_第3页
第3页 / 共7页
南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版.docx_第4页
第4页 / 共7页
南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版.docx

《南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版.docx》由会员分享,可在线阅读,更多相关《南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版.docx(7页珍藏版)》请在冰豆网上搜索。

南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版.docx

南京理工大学计算机专业研究生入学考试上机复试真题回忆整理版

2010上机题

1.输入两个字符串s和t,打印出t在s中的出现的位置,并输出出现的次数

如输入:

s=qwqwertqweqqqq,t=qw

输出:

135

3

2.观察一个数的序列规律,1,2,3,4,5,6,8,9,10,12,15,16,18……

现在输入一个数8(即上述序列中的第8个数),输出:

9

试编程实现。

注:

上述序列皆是1,2,3,5,的倍数

3.求二进制逆序

如输入10,对应二进制数为1010,其逆序为0101,对应十进制输出为5(5即为10的逆序数)。

4.

求满足条件n*n-m*m-n*m=1,且使m*m+n*n值最大的m,n,其中m,n的值都要小于k,k由用户输入。

5.已知一个数组如a【10】={1,2,3,4,5,6,7,8,9,0},输入p,则右移p位,如输入3后,输出a【10】={8,9,0,1,2,3,4,5,6,7},要求时间复杂度和空间复杂度尽量小。

6.已知一个斜三角:

2232147745

12343723

442315

3454

88

从最左上角元素开始往右或往右下走,请问顺着哪条路所经过的值的总和最大,

如可以有路线:

22,32,34,23,54;22,12,44,34,88等等

请求出满足值总和最大的那条线路。

2010上机原题答案

毕竟回忆的,个别地方会有一点点的出入

第六题没来得及做,第一题有点问题,大家自己调一下。

第一题

#include

#include

#include

#include

voidmain()

{

chars[70],t[100];

inti=0,j,count=0,len;

cout<<"输入两字符串:

"<

cin>>s;

cout<<"输入第2个字符串:

"<

cin>>t;

len=strlen(t);

while(s!

='\0')

{

for(j=0;j<=len;j++)

{if(s[i+j]==t[j])

j++;

elsebreak;

}

if(j==len+1)

{count++;

cout<

}

i++;

}

cout<

}

第二题

#include

#include

#include

intfun(intn)

{

while(n%2==0)

n=n/2;

while(n%3==0)

n=n/3;

while(n%5==0)

n=n/5;

if(n==1)return1;

elsereturn0;

}

voidmain()

{

intj=0,n,a[1500];

longi;

for(i=1;i<1000000;i++)

{if(fun(i))

a[j++]=i;

}

cout<<"输入n(n<=1500):

"<

cin>>n;

cout<

}

第三题

#include

#include

#include

voidmain()

{

inti=0,m,j=0,n=0,a[100];

cout<<"输入一个十进制数:

"<

cin>>m;

while(m!

=0)

{

a=m%2;

m=m/2;

i++;

}

while(j

{

n=n*2+a[j];

j++;

}

cout<<"其二进制逆序数:

"<

}

第四题

#include

#include

#include

voidmain()

{

intm,n,k,maxm,maxn,max=0;

cout<<"输入k:

"<

cin>>k;

for(m=0;m<=k;m++)

for(n=0;n<=k;n++)

if(n*n-m*n-m*m==1&&max

{max=m*m+n*n;

maxm=m;

maxn=n;

}

cout<

"<

}

第五题

#include

#include

#include

voidmain()

{

intp,i,j,r[10]={1,2,3,4,5,6,7,8,9,10},s[10];

cin>>p;

for(i=0;i<=p-1;i++)

s=r;

for(j=p;j<=10;j++)

r[j-p]=r[j];

for(j=0;j

r[10-p+j]=s[j];

cout<<"左移后的结果:

"<

for(i=0;i<10;i++)

cout<

cout<

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1