用3 5 7 9四个数字,能组成多少个互不相同且无法重复数字的三位数?全部输出。 10
展开全部
/*循环数,只要每一位上的数不相等*/
#include<stdio.h>
void main()
{
for(int one=3;one<10;one+=2)
for(int two=3;two<10;two+=2)
for(int three=3;three<10;three+=2)
if(one!=two && two!=three && one!=three)
printf("%d%d%d\t",one,two,three);
printf("\n");
}
#include<stdio.h>
void main()
{
for(int one=3;one<10;one+=2)
for(int two=3;two<10;two+=2)
for(int three=3;three<10;three+=2)
if(one!=two && two!=three && one!=three)
printf("%d%d%d\t",one,two,three);
printf("\n");
}
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
展开全部
第一个数4种
第二个数3种
第三个数2种
4×3×2
第二个数3种
第三个数2种
4×3×2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-06-14
展开全部
因为四个数字各不相同,思路如下:
1. 去掉一个数字
2. 对剩下的三个数字全排列
代码中,对前三个数字全排列。把需要去掉的数字同第四个数字交换,即可“去掉”。
输出结果后交换回,再继续。
#include <stdio.h>
#define N 5
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void permutation(int *a, int first, int n)
{
int i;
if(first == n - 1) {
for(i = 0; i < n; i ++) printf("%d ", a[i]);
printf("\n");
return ;
}
for(i = first; i < n; i ++){
swap(a + i, a + first);
permutation(a, first+1, n);
swap(a + i, a + first);
}
}
int main()
{
int a[N] = {3, 5, 7, 9};
int i;
for(i = 0; i < 4; i ++){
swap(a+i, a+4-1);
permutation(a, 0, 3);
swap(a+i, a+4-1);
}
return 0;
}
1. 去掉一个数字
2. 对剩下的三个数字全排列
代码中,对前三个数字全排列。把需要去掉的数字同第四个数字交换,即可“去掉”。
输出结果后交换回,再继续。
#include <stdio.h>
#define N 5
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void permutation(int *a, int first, int n)
{
int i;
if(first == n - 1) {
for(i = 0; i < n; i ++) printf("%d ", a[i]);
printf("\n");
return ;
}
for(i = first; i < n; i ++){
swap(a + i, a + first);
permutation(a, first+1, n);
swap(a + i, a + first);
}
}
int main()
{
int a[N] = {3, 5, 7, 9};
int i;
for(i = 0; i < 4; i ++){
swap(a+i, a+4-1);
permutation(a, 0, 3);
swap(a+i, a+4-1);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询