作业5.2

一、求100以内的完美数(除了本身以外的所有因数和,等于本身)

#include <stdio.h>
int main(int argc, const char *argv[])
{
	int i,j;
	for(i=1;i<101;i++)
	{
     	int	sum=0; 
		for(j=1;j<i;j++)
		{
			if(i%j==0)
			{
				sum=sum+j;
			}

		}
			if(sum==i)
			{
				printf("%d\n",i);
			}
	}

	return 0;
}
-----------------------------------
ubuntu@ubuntu:5.1$ gcc 6.c
ubuntu@ubuntu:5.1$ ./a.out
6
28

二、

#include <stdio.h>
int main(int argc, const char *argv[])
{
	int g,m;
	for(g=0;g<100;g++)                    //g公鸡个数,m母鸡个数,x小鸡个数
	{
		for(m=0;m<100;m++)
		{
			int x=3;                    //这里每次回来小鸡必须从3开始,或者从0开始,严谨一点
			while(x<100)                //但是结果一样,
			{
				if((g*5+m*3+x/3==100)&&(g+m+x==100))    //满足两个条件,100元,100只
				{
					printf("%d\t%d\t%d\n",g,m,x);     //x/3的意思是求有几个1块钱,比如6
					break;                            //个小鸡
				}                                    //printf能执行的话就可以break
				else                                //跳出while,执行第二个for的循环
				{
				x+=3;
				}
			}
		}
	}

	return 0;
}
----------------------------------
ubuntu@ubuntu:5.1$ gcc 7.c
ubuntu@ubuntu:5.1$ ./a.out
0	25	75
4	18	78
8	11	81
12	4	84

三、实现十位wen波那契数列

1 1 2 3 5 8 13 ······

#include <stdio.h>
int main(int argc, const char *argv[])
{
	int i=1,j=1,k;                        //首先我先把第一个第二个数给他定义了,1,1然后输出
	for(k=1;k<=6;k++)                     //第一个第二个用printf()
	{
		printf("%d\t%d\t",i,j);            //这里的i,j转换,列举两个数就看出来了
		i=i+j;
		j=i+j;                              //后面的if只是为了分行
		if(k%2==0)
		{
			printf("\n");
		}
	}
	return 0;
}
-----------------------------
ubuntu@ubuntu:5.1$ ./a.out
1	1	2	3	
5	8	13	21	
34	55	89	144	

四、买一件上衣59,买一件裤子70,如果成套买120,假设我买了m个上衣和n个裤子花了多少钱

#include <stdio.h>
int main(int argc, const char *argv[])
{
	int m,n,k,sum;
	printf("输入两个数:");
	scanf("%d%d",&m,&n);
	if(m>n)
	{
		sum=(m-n)*59+n*120;
	}
	else if(m<n)
	{
		sum=(n-m)*70+m*120;
	}
	else if(m==n)
	{
		sum=m*120;
	}
	printf("%d\n",sum);
	return 0;
}
-------------------------
ubuntu@ubuntu:5.1$ gcc 9.c
ubuntu@ubuntu:5.1$ ./a.out
输入两个数:3 3
360
ubuntu@ubuntu:5.1$ ./a.out
输入两个数:3 5
500
ubuntu@ubuntu:5.1$ ./a.out
输入两个数:5 3
478

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值