/**
* 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
* 时间:2015年7月28日11:07:00
* 文件:Lianxi08.java
* 作者:cutter_point
*/
package bishi.zuixin50.t2015728;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Lianxi08
{
public static void main(String[] args)
{
FileInputStream fis = null;
BufferedReader bis = null;
FileOutputStream fos = null;
Scanner cin = new Scanner(System.in); //键盘输入
try
{
fis = new FileInputStream(new File("source/zuixin50/lianxi08input.txt"));
bis = new BufferedReader(new InputStreamReader(fis, "utf-8"));
fos = new FileOutputStream(new File("source/zuixin50/lianxi08output.txt"));
String line = null;
String[] lines = null;
while((line = bis.readLine()) != null)
{
lines = line.split(" ");
for(int i = 0; i < lines.length; ++i)
{
int sum = 0; //我们数据的和
StringBuilder sb = new StringBuilder();
System.out.print("0 ");
sb.append("0 ");
//遍历所有要求的数据
int data = Integer.parseInt(lines[i]);
int data2 = data;
//读取每行的数据
int num = cin.nextInt(); //得到一个整数,表示条加的重复个数
for(int j = 0; j < num; ++j)
{
//我们输入的数字是我们数字的长度,我们循环相加
System.out.print(" + " + data2);
sb.append(" + " + data2);
sum += data2; //统计当前数字的总数
data2 = data2 * 10 + data;
}
//吧结果输出到文本
System.out.println(" = " + sum);
sb.append(" = " + sum + " \n");
fos.write(sb.toString().getBytes());
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
fos.close();
bis.close();
fis.close();
}
catch (Exception e2)
{
e2.printStackTrace();
}
}
}
}
【笔试】8、求s=a+aa+aaa+aaaa+aa...a的值
最新推荐文章于 2019-03-08 23:40:32 发布