两道c语言编程题,求帮忙

2025-02-24 01:35:28
推荐回答(2个)
回答1:

#include

using namespace std;


int nums[]={5,2,1};

int ans=0;

int total=10;


void dfs(int pre){

if(total==0){

ans++;

return;

}

for(int i=0;i<3;++i){

if(total

continue;

if(pre

continue;

total-=nums[i];

dfs(nums[i]);

total+=nums[i];

}

}


int main(){

dfs(10);

printf("%d\n",ans);

}

#include

#include

#include

using namespace std;


int nums[10];


int gcd(int a,int b){

if(b==0)

return a;

return gcd(b,a%b);

}


int main(){

srand((unsigned)time(NULL));

for(int i=0;i<5;++i){

for(int j=0;j<10;++j){

nums[j]=(rand()%90)+10;

printf("%d ",nums[j]);

}

printf("\n");

int ans=nums[0];

for(int j=1;j<10;++j){

ans=gcd(ans,nums[j]);

}

printf("%d\n",ans);

}

}

回答2:

#include
int main()
{
int n=10,a=1,b=2,c=5;
int i,j,k;
for(i=0;i<=10;i++)
for(j=0;j<=5;j++)
for(k=0;k<=2;k++)
{
if(a*i+b*j+c*k==n)
printf("1角:%d,  2角:%d,  5角:%d\n",i,j,k);
}
return 0;
}

这是第一题的代码,等我第二题。。。