用java语言编程:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

你好,打扰了,网上可以查到这个问题的答案,很不错。我现在想把这个实现用一个方法封装起来,方法有两个参数,一个int数组,一个生成的数字位数(比如三位数),不知道该怎么操作... 你好,打扰了,网上可以查到这个问题的答案,很不错。我现在想把这个实现用一个方法封装起来,方法有两个参数,一个int数组,一个生成的数字位数(比如三位数),不知道该怎么操作,麻烦了,能不能帮个忙,辛苦辛苦! 展开
 我来答
QQ410128746
2007-06-13
知道答主
回答量:17
采纳率:0%
帮助的人:0
展开全部
#include "stdio.h"
main()
{
int i,j,k,sum=0;
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
for(k=1;k<=4;k++)
{
if(i!=j&&i!=k)
{
printf("%d%d%d ",i,j,k);
sum++;
}
}
printf("\n");
printf("sum=%d",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友708ee69
2017-12-28 · TA获得超过117个赞
知道小有建树答主
回答量:82
采纳率:80%
帮助的人:47.1万
展开全部
private static String num="";
public static void main(String[] args) throws Exception {//主函数
int[] arr={1,2,3};//给一个数组
int count=3;//给位数
num(arr,count);//调用①
System.out.print(num);//输出用逗号拼接的全部数字(可以用逗号拆分,然后算长度)
}
//arr 数组, count 位数
private static void num(int[] arr,int count){//①
num(arr,count,"");//调用②
}
//递归调用
private static void num(int[] arr,int count,String str){//②
if(count==0){ num+=str+","; return;}
for(int i=0;i<arr.length;i++){
String str1=str+arr[i];
num(arr,count-1,str1);
}
}
注释是给小白用的,大佬略过。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友600b3eb
2018-02-05 · 超过13用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:15.8万
展开全部
#include <stdio.h>
void main()
{
int x,a,b,c;
for(x=432;x>123;x--)
{
a=x/100;
b=x/10%10;
c=x%10;
x=100*a+10*b+c;
if(a!=b&&c!=b&&a!=c&&a<5&&b<5&&c<5&&a!=0&&b!=0&&c!=0)
{
printf("a=%d\tb=%d\tc=%d\t",a,b,c);
printf("the number is %d\n",x);
}
}
}

a=4 b=3 c=2 the number is 432
a=4 b=3 c=1 the number is 431
a=4 b=2 c=3 the number is 423
a=4 b=2 c=1 the number is 421
a=4 b=1 c=3 the number is 413
a=4 b=1 c=2 the number is 412
a=3 b=4 c=2 the number is 342
a=3 b=4 c=1 the number is 341
a=3 b=2 c=4 the number is 324
a=3 b=2 c=1 the number is 321
a=3 b=1 c=4 the number is 314
a=3 b=1 c=2 the number is 312
a=2 b=4 c=3 the number is 243
a=2 b=4 c=1 the number is 241
a=2 b=3 c=4 the number is 234
a=2 b=3 c=1 the number is 231
a=2 b=1 c=4 the number is 214
a=2 b=1 c=3 the number is 213
a=1 b=4 c=3 the number is 143
a=1 b=4 c=2 the number is 142
a=1 b=3 c=4 the number is 134
a=1 b=3 c=2 the number is 132
a=1 b=2 c=4 the number is 124
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oinil
2007-06-13 · TA获得超过149个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:58.3万
展开全部
#include<math.h>
#include<stdio.h>
#include<iostream.h>

viod main()
{
int _n=0,_m[3];
for(m[0]=1;m[0]<=4;m[0]++){
for(m[1]=1;m[1]<=4;m[1]++){
for(m[2]=1;m[2]<=4;m[2]++){
if((m[1]-m[2])*(m[2]-m[0])*(m[0]-m[1])){
cout<<m[0]<<m[1]<<m[2]<<endl;
_n++;
}
}
}
}
cout<<_n;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
畅景彰b5
2010-11-26 · TA获得超过4374个赞
知道小有建树答主
回答量:839
采纳率:0%
帮助的人:1273万
展开全部
你要的程序,vc6通过调试运行
#include<stdio.h>
#include<string.h>
void main()
{
int count=0,i,j,k;
printf("the numbers are:\n");
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
for(k=1;k<=4;k++)
{
if((i==j)||(j==k)||(k==i))
continue;
printf("%d%d%d\t",i,j,k);
count++;
}
printf("\nthere are %d numbers\n",count);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式