程序设计实验报告

 

《c++程序设计》课程设计报告

 

 

 

班级:数学三班                学号:2018212794

 

报告人姓名:高樱洁 

 

实验地点: 东校区413机房

 

完成起止日期:2019.1.2—2019.1.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Problem D

题目简介:判断区间内变量对应表达式的值是否全为素数。

思路:数据有多组,所以是多组输入;对于每个值都要进行相同的操作,即判断函数值是否为素数,所以自定义函数,以简化程序。

细节:判断全为素数时,可定义一个变量,比较变量与区间个数的大小;

      要输出的“OK”全为大写,为防止出错,可直接复制粘贴;

      注意换行;

      用while(cin>>x>>y,!(x==0&&y==0))控制数据输入及结束。

 

源代码:#include<iostream>

#include<cmath>

using namespace std;

int prime(int);

int main()

{

         int x,y,m;

         while(cin>>x>>y, !(x==0&&y==0))

         {

              int k=0;

              for(int i=x;i<=y;i++)

              {

                   m=i*i+i+41;

                   if(prime(m))

                       k++;

                  else

                  {

                       cout<<"Sorry"<<endl;

                       break;

                  }

              }

              if(k==y-x+1)

              cout<<"OK"<<endl;

          }

}  

int prime(int n)

{

        for(int i=2;i<=sqrt(n);i++)

       {

            if(n%i==0)

            return 0;

       }

       return 1;

}

 

Problem F

题目简介:求长为n的递增偶数序列,每m个数的平均值,最后的以实际个数求平均值。

思路:分别设置变量控制m个数及m个数的和

细节:记和变量及时清零;

      数据之间空格间隔,行末无空格。

源代码:

#include<iostream>

using namespace std;

int a[100];

int main()

{

    int n,m,j;

    while(cin>>n>>m)

    {

        int k=0;

        for(int i=1;i<=n/m;i++)

        {

            int sum=0;

            if(k>0)

              cout<<" ";

            for(j=1;j<=m;j++)

            {

                k+=2;

                sum+=k;

            }

            cout<<sum/m;

        }

        if(n%m)

        {

            int sum=0;

            for(j=1;j<=n-n/m*m;j++)

            {

                k+=2;

                sum+=k;

            }

            cout<<" "<<sum/(j-1);

        }

        cout<<endl;

    }

    return 0;

}

 

 

 

Problem H

题目简介:有一母牛每年生一头小母牛,小母牛第四年成为母牛,求n年时有多少牛。

思路: 先算一下前几年的母牛数,发现数排列起来为:1,2,3,5,8……,满足递推关系f(n)=f(n-1)+f(n-2),即斐波那契数列。

细节:不要忘记边界情况,把前几项单独列出。

 

源代码:

#include<iostream>

using namespace std;

int main()

{

    int n;

    while(cin>>n,n!=0)

    {

         int f1=1,f2=2,f3=3,f4;

         for(int i=3;i<=n;i++

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值