飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2135|回复: 2

[C/C++] 算法入门题-8月30日

[复制链接]
  • TA的每日心情
    开心
    2022-11-16 14:28
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2009-8-29 20:50:08 | 显示全部楼层 |阅读模式
    第一题:
    最大公因数(**)
    内容: 简体->正體
    给定两个数字,请得出它们的最大公因数
    输入说明:
    两个整数 大于 0, 小于 2^31
    输出说明:
    最大公因数为一整数
    范例输入:
    12 15

    范例输出 :
    3

    第二题:
    阶乘运算
    内容: 简体->正體
    给定一个 n 值,请计算出 n! 的结果
    输入说明:
    输入一个整数 n
    输出说明:
    输出 n! 结果,结果不大于 2^63
    范例输入:

    0 1 5
    范例输出 :

    1 1 120

    [ 本帖最后由 evilknight 于 2009-8-30 22:07 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-8-30 21:33:49 | 显示全部楼层
    第一题:
    #include "stdafx.h"
    #include <iostream.h>
    #include <stdio.h>
    #include <string.h>

    int main()
    {
    int a,b,max=0;
    cout<<"Input two numbera!"<<endl;
    for(int j=0;j<1;j++){
    cin>>a;
    //flush;
    cin>>b;}

    if(a>b)
    {
        for (int i=1;i<b;i++)
       {
        if (a%i==0&&b%i==0)
        {
                    max=i;
        }
       }
      cout<<max<<endl;
    }
    if(a<b)
    {
             for (int i=1;i<a;i++)
             {
                     if (a%i==0&&b%i==0)
                     {
                             max=i;
                     }
             }
             cout<<max<<endl;
    }
    return 0;
    第二题:
    #include "stdafx.h"
    #include <iostream.h>
    #include <stdio.h>
    #include <string.h>

    int main()
    {
            int n,sun=1;
            cout<<"Input"<<endl;
            cin>>n;
            if (n==0)
            {
                    cout<<1<<endl;
            }
            else
            {
                    for (int i=1;i<=n;i++)
                    {
                            sun*=i;
                    }
                            cout<<sun<<endl;
            }
            return 0;
    }
    本来想用梯归的,但还是没掌握好,用不出来。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2022-11-16 14:28
  • 签到天数: 5 天

    [LV.2]偶尔看看I

     楼主| 发表于 2009-8-30 22:07:13 | 显示全部楼层

    1. /**********************************************************************************/
    2. /*  Problem: a024 "最大公因數(**)"                                              */
    3. /*  Language: C                                                                   */
    4. /*  Result: AC (10ms, 360KB) on ZeroJudge                                         */
    5. /*  Author: MicroQ                                                               */
    6. /**********************************************************************************/

    7. #include <stdio.h>

    8. long long int f(long long int a, long long int b)
    9. {
    10.         long long int t;
    11.         while (a%b)
    12.         {
    13.                 t = b;;
    14.                 b = a%b;
    15.                 a = t;
    16.         }
    17.         return b;
    18. }

    19. int main(void)
    20. {
    21.         long long int a,b;
    22.         while ( scanf("%lld%lld",&a, &b) > 0)
    23.                 printf("%lld\n", f(a,b));
    24.         return 0;
    25. }
    复制代码

    1. #include <stdio.h>

    2. int main(void)
    3. {
    4.         long long int sum;
    5.         int n, i;
    6.         while (scanf("%d", &n) > 0)
    7.         {
    8.                 sum = 1;
    9.                 for (i = 2; i <= n; ++i)
    10.                         sum *= i;
    11.                 printf("%lld\n", sum);
    12.         }
    13.         return 0;
    14. }
    复制代码
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表