华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5892|回复: 21
打印 上一主题 下一主题

初级班训练题

[复制链接]

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
跳转到指定楼层
楼主
发表于 2014-10-12 13:36:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、交换两个数字  输入两个数字,交换后输出
2、判断闰年  输入某个年份,判断时是否闰年
3、最大公约数  输入两个正整数,求他们的最大公约数
4、阶乘  输入一个小整数,求它的阶乘
5、百鸡问题  100元钱买了100只鸡,其中公鸡每只3元钱,母鸡每只1元钱,小鸡每三只一元钱,请问有多少种买法
6、水仙花数  求满足 a^3+b^3+c^3=abc的所有数字,比如 371  
7、素数判断  输入一个正整数,判断他是否是质数
8、斐波那契数列  打印fibo数列前10项
9、验证哥德巴赫猜想  任何一个大于2的偶数都可以表示为两个素数的和,输入一个大偶数,输出两个质数,使得它们的和等于那个偶数
回复

使用道具 举报

3

主题

9

帖子

87

积分

注册会员

Rank: 2

积分
87
推荐
发表于 2014-10-14 18:37:04 | 只看该作者
第四题:
#include<iostream>
using namespace std;
double f(int n)
{
    if(n<=1)
        return 1;
    else
        return 1.0*n*f(n-1);
}

int main()
{
   
        cout<<"Input integer n:";
        int n;
        cin>>n;
        cout<<"n!="<<f(n)<<endl<<endl;
   
    return 0;
}
回复 支持 0 反对 1

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
推荐
发表于 2014-10-14 18:46:14 | 只看该作者
#include <iostream>
using namespace std;
int g,m,x;
int main()
{
    for (g=0;g<=100;g++)
        for (m=0;m<=100;m++)
          for (x=0;x<=100;x++)
            if ((g+m+x==100) && (g*3+m+float(x)/3==100))
               cout <<g<<' '<<m<<' '<<x<<endl;


    return 0;
}
回复 支持 1 反对 0

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
推荐
发表于 2014-10-14 18:25:15 | 只看该作者
#include <iostream>
using namespace std;
int a,b,c;
int main()
{
    cin>>a>>b;
    c=a;a=b;b=c;
    cout<<a<<' '<<b;
    return 0;
}
回复 支持 1 反对 0

使用道具 举报

4

主题

68

帖子

1607

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1607
5#
发表于 2014-10-12 15:49:57 | 只看该作者
沙发……
求更多题目。
回复 支持 反对

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
6#
发表于 2014-10-14 18:30:46 | 只看该作者
#include <iostream>
using namespace std;
int y;
bool b;
int main()
{
    cin>>y;
    b=(y%400==0)||((y%4==0) && (y%100!=0));
    if (b) cout<<"YES!";
    else cout<<"No!";
    return 0;
}
回复 支持 反对

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
7#
发表于 2014-10-14 18:36:05 | 只看该作者
#include <iostream>
using namespace std;
int a,b,c;
int main()
{
    cin>>a>>b;
    c=a%b;
    while (c!=0)
    {
        a=b;b=c;c=a%b;
    }
    cout<<b;
    return 0;
}
回复 支持 反对

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
8#
发表于 2014-10-14 18:41:19 | 只看该作者
#include <iostream>
using namespace std;
int i,j;
long long s;
int main()
{
    cin>>i;
    for (j=1,s=1;j<=i;j++) s=s*j;
    cout<<s;
    return 0;
}
回复 支持 反对

使用道具 举报

3

主题

9

帖子

87

积分

注册会员

Rank: 2

积分
87
9#
发表于 2014-10-14 18:47:52 | 只看该作者
第三题递归解:
#include<iostream>
using namespace std;
int f(int a,int b)
{
    int c=a>b?a:b;
    int d=a+b-c;
    if(b>0)
        return f(d,c%d);
    else
        return a;
}

int main()
{   
        cout<<"Input integers a,b:";
        int a,b;
        cin>>a>>b;
        cout<<f(a,b)<<endl;
   
    return 0;
}
回复 支持 反对

使用道具 举报

61

主题

147

帖子

563

积分

超级版主

Rank: 8Rank: 8

积分
563
10#
发表于 2014-10-14 18:48:18 | 只看该作者
#include <iostream>
using namespace std;
int g,m,x;
int main()
{
    for (g=0;g<=100/3;g++)
        for (m=0;m<=100;m++)
    {
        x=100-g-m;
        if (g*3+m+float(x)/3==100)
        cout <<g<<' '<<m<<' '<<x<<endl;
    }


    return 0;
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-12-26 01:35 , Processed in 0.219781 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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