首页 > 其他分享 >第三章课后习题(2)

第三章课后习题(2)

时间:2023-04-24 22:58:58浏览次数:28  
标签:return cout int namespace 课后 using 第三章 习题 gcd

例3-9

题目描述:编写函数判别一个数是否是质数,在主程序中实现输入输出。

设计思路:

1.输入一个数。

2.让这个数除余2到该数的一半,分析是否有余0是。

3.有则不是,否则是。

流程图:

 代码实现:

#include<iostream>
using namespace std;
bool Is(int a)
{
    for (int i = 2; i < a / 2; i++)
    {
        if (a % i == 0)
        {
            return 0;
        }
        else
            return 1;
    }
}
int main() {
    bool is;
    int x;
    cin >> x;
    is = Is(x);
    if (is)
    {
        cout << "质数";
    }
    else
    {
        cout << "非质数";
    }
}

例3-10

题目描述:编写函数求两个整数的最大公约数和最小公倍数。

设计思路:

1.利用辗转相除法求两个数的最大公约数。

2.用两数相乘除以最大公约数求得最小公倍数。

流程图:

 代码实现:

#include<iostream>
using namespace std;
int gcd(int a, int b)
{
    if (b == 0)
        return a;
    else
        gcd(b, a % b);
}
int g(int a, int b)
{
    int d=gcd(a, b);
    return a * b / d;
}
int main() {
    int a, b;
    cin >> a >> b;
    cout<<gcd(a, b);
    cout << g(a, b);
    return 0;

}

例3-12

题目描述:在主程序中提示输入整数n,编写函数用递归的方法求1+2+。。。+n的值。

设计思路:

1.设计一个函数键入一个用于存储值的符号,键入一个n,

2.每运行一次该函数,n的值减少1到n=0是为止。

3.输出计数值。

流程图:

 代码实现:

#include<iostream>
using namespace std;
int sum(int s, int n)
{
    s = s + n;
    n = n - 1;
    if (n != 0)
    {
        sum(s, n);
    }
    else
        return s;
}
int main()
{
    int n;
    cin >> n;
    int a = 0;
    cout<<sum(a, n);
    return 0;
}

 

标签:return,cout,int,namespace,课后,using,第三章,习题,gcd
From: https://www.cnblogs.com/xuechenhao173/p/17351048.html

相关文章

  • C++第四章课后习题选做
    #include<iostream>usingnamespacestd;classDate{private:intyear,month,day;public:Date(intyear=1,intmonth=1,intday=1){this->year=year;this->month=month;this->......
  • 37-时序逻辑电路习题
    例1主从触发器,下降沿触发;上升沿输入,下降沿反转例2cp作为输入也是Mealy型电路例3......
  • 第三章课后习题(1)
     输出样例1:100008888823333设计思路:1.输入一个整数x为朋友圈个数。2.3-7题目描述:完成函数,参数为两个unsignedshortint型数,返回值为第一个参数除以第二个参数的结果,数据类型为shortint;如果第二个参数为0,则返回值为-1.在主程序中实现输入输出。设计思路:1.设计一个函数带有......
  • C++第四章课后习题4-8
    定义一个dog类,包含的age,weight等属性,以及对这些属性的操作方法,实现并测试这个类。1#include<iostream>2usingnamespacestd;3classDog{4private:5intage,weight;6public:7voidsetdog(inta,intb)8{9......
  • 每周习题讲解
    1.给你一个长度为 �n 的由大写的英文字母组成的字符串,请你找出出现频率最高的长度为2的子串#include<iostream>/*runthisprogramusingtheconsolepauseroraddyourowngetch,system("pause")orinputloop*/usingnamespacestd;chara[100];intb[27......
  • 第三章部分例题(7)补4月22日
    例3-16题目描述:重载函数应用举例。编写两个名为sumOfSquare的重载函数,分别求两整数的平方和及两实数的平方和。代码部分:#include<iostream>usingnamespacestd;intgetVolume(intlength,intwidth=1,intheight=1){returnlength*width*height;}intmain(){......
  • 王道408操作系统-4.3文件系统 习题总结
    文件系统第一题用户使用文件系统实现对文件的按名存取,选B第二题选B,超级块是用来描述文件系统的第三题文件的存储空间实际上是对(外存空间区)的组织和管理。第四题第五题索引节点用来存放文件的描述信息,所以选B虚拟文件系统虚拟文件系统,简称VFS(Virtual......
  • 3 第三章 动词时态
    第三章动词时态1.把be动词当做动词,其后的分词则视为形容词补语。2.动词短语长的时候,里面一定会有be动词,如果把be动词抽离出来当做动词看待,那就只剩下用be动词写的简单式,以及用havebeen写的完成式两种状态。分词则可视为形容词补语,不放在动词短语里面,如此一来整个时态的问题就......
  • 王道408操作系统-4.2文件目录 习题总结
    错题复盘第一题散列法一般不用来检索目录,因为想要避免散列冲突就需要大量的存储空间来存放目录,造成不必要的浪费。在树形目录中检索时,应从当前目录开始逐级检索。在上图中,当我想要查找文件N时,使用文件路径/D/p/N查找,很明显分量名P不在D之下,继续往下查找没有任何意义,这时就......
  • mysql综合练习题
    作业1第一题D错误。别名有空格要用“”都引起来第三题别名和之前的列名都可以使用作业2SELECT*FROMempSELECT*FROMdeptSELECT*FROMsalgrade--作业2--2.查看dept表和emp表的结构DESCdept;DESCemp;--3.1显示所有部门的名称SELECTdnameFROMd......