3.30作业
1.编写程序:设整数满足条件:被3除余2,被5除余4,被7除余3,请编程求出满足该条件的最小的10个自然数。
#include<stdio.h>
void main()
{
int x=1,i=1;
while(i<=10)
{
if(x%3==2&&x%5==4&&x%7==3)
{
printf("%d\n",x);
x++;i++;
}
else
{
x++;
}
}
}
2.编写程序:求100之内自然数中最大的能被17整除的数。
#include<stdio.h>
void main()
{
int x;
for(x=100;;x--)
{
if(x%17==0)
{
printf("%d\n",x);
break;
}
}
}
3.编写程序:计算n的阶乘(n!),其中n的值由用户输入,取值在1-10 之间。
#include<stdio.h>
void main()
{
int n,i;
printf("请输入1-10之间的一个整数:\n");
scanf("%d",&n);
for(i=n-1;i>0;i--)
{
n*=i;
}
printf("%d\n",n);
}
4.编写程序:输入2个整数a和n,求a+aa+aaa+……(n个a)之和,例如输入2和3,2+22+222=246。
#include <stdio.h>
void main()
{
int a,n,i,t=0,sum=0;
printf("请输入两个整数a和n:\n");
scanf("%d,%d",&a,&n);
for(i=1;i<=n;i++)
{
t=t*10+a;
sum+=t;
}
printf("%d",sum);
}
5.选做题:找出200以内的所有完数,并输出其因子。一个数等于除其自身外的因子之和,称其为完数。例如6=1+2+3,28=1+2+4+7+14。
#include<stdio.h>
void main()
{
int n,i,s=0;
printf("200以内的完数有:\n");
for(n=2;n<=200;n++)
{
s=0;
for(i=1;i<n;i++)
{
if(n%i==0)
s+=i;
}
if(s==n)
{
printf("%d的因子为:",n);
for(i=1;i<n;i++)
{
if(n%i==0)printf(" %d",i);
}
printf("\n");
}
}
}