吉大考研机试2010年题目

题目一(jobdu1478:三角形的边)、    http://ac.jobdu.com/problem.php?pid=1478

给出三个正整数,计算最小的数加上次小的数与最大的数之差。

题目分析:

简单题。能够用非常多方法解决

AC代码:

#include<iostream>
using
namespace
std;
int
main()
{
    int
a,b,c,ma;
    while(cin>>a>>b>>c){
        ma=0;
        if(a==0)
break;
        if(ma<a) ma=a;
        if(ma<b) ma=b;
        if(ma<c) ma=c;
        cout<<(a+b+c)-2*ma<<endl;
    }
    return
0;
}



题目二(jobdu1476:平方因子)、
   

pid=1476">
http://ac.jobdu.com/problem.php?pid=1476


    给定一个数n,判定它是否有一个不为1的全然平方数因子。

也就是说。是否存在某个k。k>1。使得k*k可以整除n。

题目分析:

数字记录全部平方数,在小于n的情况下进行測试就可以。

AC代码:

/**
 *简单模拟
 */
#include<iostream>
#include<string>
using
namespace
std;
int
main()
{
    int
n,a[101];
    for(int
i=1;i<=100;i++) a[i]=i*i;
    while(cin>>n&&n){
        int
ok=0;
        for(int
i=2;a[i]<=n;i++){
            if(n%a[i]==0){
                cout<<"Yes"<<endl;
                ok=1;//标记是否找到满足条件的数
                break;
            }
        }
        if(!ok) cout<<"No"<<endl;
    }
    return
0;
}
 

题目三(jobdu1477:怪异的洗牌&&jobdu1479:移位与旋转)、  
http://ac.jobdu.com/problem.php?pid=1477

对一副扑克牌进行k个移位(shift)和翻转之后(filp),数组结果。

题目分析:

因为题目数据较小。没有必要去优化移位函数(shift)的时间复杂度,仅仅须要普通的移位函数就可以,对于翻转函数,进行折半交换就可以。



AC代码:

#include<iostream>
using
namespace
std;
int
n,k;
void
shift(
int a[],int
k){//向右循环k次
    while(k--){
        int
tmp=a[n-1];
        for(int
i=n-2;i>=0;i--){
            a[i+1]=a[i];
        }
        a[0]=tmp;
    }
}
void
filp(
int a[],int
n){//翻转数组的前n个数
    int
i,j,tmp;
    for(i=0,j=n-1;i<j;i++,j--){
        tmp=a[i];
        a[i]=a[j];
        a[j]=tmp;
    }
}
void
print(
int a[]){
    for(int
i=0;i<n;i++) cout<<a[i]<<" ";
    cout<<endl;
}
int
main()
{
    while(cin>>n>>k&&n){
        int
m,a[1005];
        for(int
i=0;i<n;i++) a[i]=i+1;
        //print(a);
        for(int
i=0;i<k;i++){
            cin>>m;
            shift(a,n-m);
            //print(a);
            filp(a,n/2);
        }
        print(a);
    }
    return
0;
}
 

题目四(jobdu1466:排列与二进制)、    http://ac.jobdu.com/problem.php?pid=1466

给定一个排列数,算出其二进制表示的后面有多少个连续的零。比方  p(10,5)=30240。

假设用二进制表示为p(10,5)=30240=( 111011000100000)b,也就是说。最后面有5个零。



题目分析:

对于一个数n,n包括(可以整除几个2)几个2,其二进制末尾就有几个0。比方 n=12

12/2=6(0)    6/2=3(0)   3/2=1(1);圆括号中面表示余数,12含有2个2,12的二进制是(1100)。尾部有2个0.



AC代码:

/**
 *一个数包括几个2,其二进制末尾就有几个0
 *比如12=(1100) 12/2=6; 6/2=3,有两个2
 */
#include<iostream>
using
namespace
std;
int
main()
{
    int
n,m;
    while(cin>>n>>m&&n){
        int
cnt=0;
        for(int
i=n;i>=n-m+1;i--){
            int
k=i;
            while(k%2==0){
                cnt++;
                k/=2;
            }
        }
        cout<<cnt<<endl;
    }
    return
0;
}

九度oj题目&amp;吉大考研10年机试题全解的更多相关文章

  1. 九度oj题目&amp;吉大考研11年机试题全解

    九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码).    http://ac.jobdu.com/problem.php?pid=11 ...

  2. 九度oj 题目1190:大整数排序

    题目1190:大整数排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4142 解决:1867 题目描述: 对N个长度最长可达到1000的数进行排序. 输入: 输入第一行为一个整数N,( ...

  3. 九度oj 题目1125:大整数的因子

    题目描述: 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k. 输入: 若干个非负整数c,c的位数<=30每行一个c,当c=-1时中止 ( ...

  4. 九度oj 题目1262:Sequence Construction puzzles(I)_构造全递增序列

    题目描述: 给定一个整数序列,请问如何去掉最少的元素使得原序列变成一个全递增的序列. 输入: 输入的第一行包括一个整数N(1<=N<=10000). 接下来的一行是N个满足题目描述条件的整 ...

  5. hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  6. 九度OJ 题目1384:二维数组中的查找

    /********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...

  7. 九度oj 题目1007:奥运排序问题

    九度oj 题目1007:奥运排序问题   恢复 题目描述: 按要求,给国家进行排名. 输入:                        有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ...

  8. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

  9. 九度OJ题目1105:字符串的反码

    tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的"\0"还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是 ...

随机推荐

  1. Leetcode 648.单词替换

    单词替换 在英语中,我们有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词--我们称这个词为 继承词(successor).例如,词根an,跟随着单词 other(其他),可 ...

  2. [oldboy-django][4python面试]面试前需要熟练掌握的知识点(待更新)

    python基础 - 生成器 - 装饰器 - 迭代器 - 列表生成式 - 引用,传参 - 面向对象,继承 前端Html: - 词法分析 - 作用域 - 语法分析 - this - Jsonp mysq ...

  3. Write with Vim (1)

    Write with Vim (1) 本文出自Svitter的blog 原文在之前的也曾发表 大约在一年前使用vim?这个也是个不确定的时间.具体什么时间使用Vim早已经忘记了. 现在用的还算顺手,但 ...

  4. 一个javascript继承和使用的例子

    继承可以帮助我们实现代码的重用,把对象的属性写入构造函数,对象的方法写入原型后,以下例子演示继承的使用: 示例的css和js在后 父实例,得到一个间隔1s的轮播: <!DOCTYPE html& ...

  5. Java EE 学习(9):IDEA + maven + spring 搭建 web(5)- 博客文章管理

    转载:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生) . 注:在阅读本文前,请先阅读: Java EE 学习(5):IDEA + maven + spring 搭建 web(1) Jav ...

  6. 2017最好的JavaScript框架、库和工具 — SitePoint

    与开发者数量相比,可能有更多的JavaScript框架.库和工具.截止到2017年5月,在GitHub上快速搜索能搜到超过110万的JavaScript项目. 在npmjs上有50万的可用包,并且这些 ...

  7. hdu 2189 dp

    /* 类似完全背包,容量为n的背包用素数填,求满背包的种数 dp(i,j)表示用不超过i的素数组成的j的种数 dp[i][j]=dp[i-1][j],若i为素数则dp[i][j]+=dp[i][j-i ...

  8. 支线剧情(bzoj 3876)

    Description [故事背景] 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情.这些游戏往往 都有很多的支线剧情,现 ...

  9. linux之tee

    tee命令 tee把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中 如果想看到输出的同时,把输出也同时拷入一个文件,这个命令很合适 格式:tee -a file -a 表示文件追加到末尾 ...

  10. 洛谷 P1174 打砖块

    题目描述 小红很喜欢玩一个叫打砖块的游戏,这个游戏的规则如下: 在刚开始的时候,有n行*m列的砖块,小红有k发子弹.小红每次可以用一发子弹,打碎某一列当前处于这一列最下面的那块砖,并且得到相应的得分. ...