作业一:
题目
现有1角 2角 5角
凑出两元
有哪些可能
例如:
0,0,4
0,5,2
0,10,0
作业一:
#include<stdio.h>
int main()
{
int i,j,k,sum=0;//定义ijk,用来表示一角,两角,五角要用到的张数
//sum记录一共多少方法
for(i=0;i<=20/1;i++){//i的取值范围为0~20
for(j=0;j<=20/2;j++){//j的取值范围为0~10
for(k=0;k<=20/5;k++){//k的取值范围为0~4
if(i+2*j+5*k==20){//判断循环结果相加是否为20
sum++; //每循环一次,方法就加一
printf("%d %d %d\n",i,j,k);//最后输出可以用到的纸张数
}
}
}
}
printf("共有%d组合方法",sum);
return 0;
}
作业二:用户输入两个数,程序输出它们的最大公约数
#include<stdio.h>//最大公约数:一个数既能整除A,又能整除B
int main(){ //碾转相除法
int x,y,X,i,I;
printf("请输入两个整数:");
scanf("%d %d",&x,&y);
X=x; //保持x的初始值
if(x<y){//判断x与y的大小
x=y;//如果x<y,将y的值赋给x
y=X;//将X(即x的初始值)赋给y
}
for(i=2;i<=y;i++){ //1是所有整数的公约数;i必须<=两者之中的最小数;
if(x%i==0&&y%i==0){ //i既能整除x,又能整除y,即:x和y对i分别取余=0
I=i; //防止出现3,5之类的数
}
}
printf("最大公约数为:%d",I);
return 0;
}
网友评论