面试题

一 .有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。

public class text {


static int count=0;
public static void main(String [] args)
{
xuanze();
find(6);
for(int i=1;i<=4;i++)
{
//确定十位
for(int j=1;j<=4;j++)
{
//确定个位
for(int k=1;k<=4;k++)
{

if(i!=j&&i!=k&&j!=k)
{
++count;
System.out.println("第"+count+"组合方式为"+" "+i+j+k);
}
}
}

}
}


二 .有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

public class Feb {


public static void main(String[] args) {

System.out.println(text(20));

}

public static float text(int index)
{
float fenzi=2f;
float fenmu=1f;
float x=0,f = 0,sum=0;
for(int i=0;i<index;i++)
{
f=fenzi/fenmu;
x=fenzi;
fenzi=fenzi+fenmu;
fenmu=x;
sum+=f;
}
return sum;
}


三 .打印出杨辉三角形(要求打印出10行如下图)


1.程序分析:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

public class yanghui{


public static void main(String [] args)
{
int row = 10; // 三角的行数

int[][] result = new int[row][row];

for (int i = 0; i < row; i++) { // 行
result[i][0] = 1;
System.out.print(result[i][0] + "\t");

for (int j = 1; j <= i; j++) { // 列
result[i][j] = result[i - 1][j - 1] + result[i - 1][j];

System.out.print(result[i][j] + "\t");
}
System.out.println();
}
}

}


第四题 .打印九九乘法表

public static void main(String [] args)
{

for (int i=1; i <= 9; i++) {
for (int j=1; j <= i; j++) {
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}

}


第五题 .一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。


public static void main(String[] args) {
// TODO Auto-generated method stub
int op = 0; //就是一个测试的 看你想输出最大的数 初始值 为 0
int sum = 0; //就是一个合, 计算结果用的
int i = 1; //就一个循环变量

String sql = ""; //输出满足条件的数字的 后面的加法

while (true) {
if (op > 1000) { //这里我就求 1-----10之间的数字 如果想求出 1---1000 可以改成1000
break;
}

else {
op++; //第一次就先加加 表示从 1开始 因为初始值 是零
while (i <= op) {
sum += i;
if (sum == op) { //如果相等了 就可以输出这个值了 并且这个值的合 就是 sum
sql = sum + "="+1;
for (int s = 2; s <= i; s++) {
sql = sql + "+" + s;
}
sql = sql + "";
System.out.println(sql);
break;
}
i++;
}
sum = 0;
i = 1;
sql = "";
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值