C1-第13课:个数统计与质数判断

吴老师

2023-12-09 7:48:27
2023-12-17 23:55:27

信息与公告

课堂知识点

1.最大公因数/最小公倍数

(1)取两个数的最大值和最小值

min(x,y):  取x,y中小的数

max(x,y): 取x,y中大的数

(2) 求x和y的最大公因数

从min(x,y)~1之间,找到第一个公因数

cin>>x>>y;
for (int a=min(x,y); a>=1; a--) 
{
    if(x%a==0 && y%a==0)   //找到第一个公因数,就是最大公因数
   {
       cout<<a;
       return 0;     //结束程序
   }
}

(3) 求x和y的最小公倍数

从max(x,y)~x*y之间,找到第一个公倍数

cin>>x>>y;
for (int a=max(x,y); a<=x*y; a++) 
{
    if(a%x==0 && a%y==0)   //找到第一个公倍数,就是最小公倍数
   {
       cout<<a;
       return 0;     //结束程序
   }
}

2、个数统计 • 循环前:设置计数变量,int c=0;
• for循环:控制循环范围(注意:初值、结束值和跳步)
• 循环内:用if判断符合条件的数,若符合条件,则计数变量加1.
• 循环结束后:输出计数变量的统计值。
• 框架代码://判断a~b之间能整除7的数有几个

int c=0; 
for (int x=a; x<=b; x++) 
{
       if (x%7==0)
       {
             c++; 
       }
}
cout<<c;

3、判断素数(质数) • 假设判断n是否为质数,则循环1~n,计数它的因子个数,如果统计结果等于2,则说明n是质数,否则不是质数。 • 框架代码://判断n是否为质数

cin>>n;  
int c=0;
for (int x=1; x<=n; x++) 
{
       if (n%x==0)
       {
                c++; 
       }
}
if (c==2)  
{
       cout<<"yes";
} 
else 
{
       cout<<"no";
}