复习(第五章2)

1、最大公约数和最小公倍数

输入两个正整数a和b(0<a,b<1000000),求出其最大公约数和最小公倍数并输出。

#include<stdio.h>

int main()

{

 int a,b,m,n,yue,bei;

 scanf("%d%d",&a,&b);

 m=a%b;

 n=a*b;

 

 while(m!=0)

 {

  a=b;

  b=m;

  m=a%b;

 }

 yue=b;

 bei=n/yue;

 printf("%d %d",yue,bei);

 printf("\n");

 return 0;

}

2、素数

从控制台输入整数n(n>=1),计算并输出从1到n之间(包括n)个位为1的所有素数,若没有符合要求的素数,则输出-1。

#include<stdio.h>

#include<math.h>

int main()

{

 int i,j,k;

 int n;

 int count=0;

 scanf("%d",&n);

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

 {

  int tag=0;

  k=(int)sqrt(i);

  for(j=2;j<=k;j++)

  {

   if(i%j==0)

   {

    tag=1;

    break;

   }

  }

  if(tag==0&&i%10==1)

  {

   printf("%d ",i);

   count=1;

  }

 }

 if(count==0)

  printf("-1");

 printf("\n");

 return 0;

}

3、完全数

一个整数,如果其所有小于它本身的因子(包括1)之和正好等于该数,则称其为"完全数"。编写程序计算某一范围内的所有"完全数"。

#include<stdio.h>

int f(int a)

{

 int b,c=0;

 for(b=1;b<=a;b++)

 {

  if(a%b==0&&a!=b)

   c=c+b;

 }

 return c;

}

int main()

{

 int m,n,p,q,t=0;

 scanf("%d %d",&m,&n);

 for(p=m;p<=n;p++)

 {

  q=f(p);

  if(p==q)

  {

   printf("%d ",p);

   t=1;

  }

 }

 if(t==0)

  printf("No Answer\n");

 return 0;

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值