敲代码去
2016-12-24 08:08
采纳率: 33.3%
浏览 1.0k
已采纳

求大神帮忙写下这几道题的代码,大神快帮帮萌新吧

Description(数论)
两个数a, b求a, b的最小公倍数。
Input
输入a, b(1<=a, b<=1000000)
Output
输出a, b的最小公倍数。
Sample Input
1000000 9999999
Sample Output
999999000000

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • zhagoodwell 2016-12-24 13:41
    已采纳

    最小公倍数:

    include < stdio.h>

    typedef __int64 Elem;
    Elem gys(Elem m,Elem n);
    void main(){
    Elem a[2];
    int i;
    for(i=0;i do{
    printf("请输入第%d个数(>2)",i+1);
    scanf("%I64d",&a[i]);
    while(getchar()!='\n');
    }while(a[i] printf("%I64d 与 %I64d 的最小公倍数为:\n%I64d",a[0],a[1],a[0]*a[1]/(gys(a[0],a[1])));
    getchar();
    }
    Elem gys(Elem m,Elem n)//辗转相除法求mn的最大公因数,m&&n!=0
    {
    Elem A,B;
    if(n>m)
    {
    A=m;m=n;n=A; //保证m>n
    }
    while((B=m%n)!=0)
    {
    m=n;n=B;
    }
    return n;
    }

    点赞 打赏 评论
  • 敲代码去 2016-12-24 08:15

    在看下这个题吧,Description
    现在有一行括号序列,请你检查这行括号是否配对。
    Input
    第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符。
    Output
    每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No。
    Sample Input
    3
    [(])
    (])
    ([])
    Sample Output
    No
    No
    Yes

    点赞 打赏 评论
  • 敲代码去 2016-12-24 08:17

    E.二叉树(二叉树)
    Time Limit: 1000 MS Memory Limit: 32768 K
    Total Submit: 81 (38 users) Total Accepted: 36 (35 users) Special Judge: No
    Description
    由正整数 1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,
    比如从10到根结点的路径是(10, 5, 2, 1),从4到根结点的路径是(4, 2, 1),从根结点1到根结点的路径上只包含一个结点1,因此路径就是(1)。
    对于两个结点x和y,假设他们到根结点的路径分别是(x1, x2, ... ,1)和(y1,y2, ... ,1)(这里显然有 x = x1,y = y1),
    那么必然存在两个正整数i和j,使得从xi和yj开始,有 xi= yj,xi + 1= yj + 1,xi + 2= yj + 2,... 现在的问题就是,给定 x 和 y,要求 xi(也就是 yj)。

    Input
    输入只有一行,包括两个正整数 x 和 y,这两个正整数都不大于 1000。

    Output
    输出只有一个正整数 xi。

    Sample Input
    10 4
    Sample Output
    2

    点赞 打赏 评论
  • 敲代码去 2016-12-24 08:18

    Description
    给出一个n,请用深搜的方法输出1~n从小到大的全排列
    Input
    多组测试数据,每行输入一个n(1<=n<7)
    Output
    从小到大输出n的全排列
    Sample Input
    3
    Sample Output
    1 2 3
    1 3 2
    2 1 3
    2 3 1
    3 1 2
    3 2 1

    点赞 打赏 评论
  • 敲代码去 2016-12-24 08:18

    Description
    你有一辆挖掘机,现在该你当司机。
    知道某处有宝藏,最快几步能到达?
    现在你站在0这个位置,每一步你可以开车的方式:
    x+2,x-1,x*2(0=<x<500)
    Input
    多组测试数据,每组给出目标点位置x(0=<x<500)
    Output
    输出到达目标点的最小步数
    Sample Input
    45
    Hint
    8

    点赞 打赏 评论
  • zhagoodwell 2016-12-24 09:11
    点赞 打赏 评论
  • isNoel 2016-12-24 09:12

    第一题先用辗转相除法求出a, b的最大公约数,用a,b的乘积除以最大公约数就是最小公倍数了。

    点赞 打赏 评论
  • zhagoodwell 2016-12-24 09:14

    里面有你想要的,一个函数 反回a和b的最大公因数c= gys ()然后最小公倍数就是a*b/c这三个数的基本类型 是 __int64

    点赞 打赏 评论
  • zhagoodwell 2016-12-24 09:38

    ~今晚回去都给你写下来

    点赞 打赏 评论
  • zhagoodwell 2016-12-24 13:40

    代码 已经发到你的私信里

    点赞 打赏 评论

相关推荐 更多相似问题