代码实现:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字

import java.util.Scanner;

/*题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
 程序分析:关键是计算出每一项的值。*/

public class Test08 {

	public static void main(String[] args) {
		System.out.print("请输入a:");
		int a = inNumber();
		System.out.print("请输入b:");
		int b = inNumber();
		int num = 0;
		for (int i = 1; i <= b; i++) {
			num = num + a;
			a = a * 10 + a % 10;
		}
		System.out.println(num);
	}

	public static int inNumber() {
		Scanner sc = new Scanner(System.in);
		int n = 0;

		while (true) {
			String s = sc.nextLine();
			String regex = "\\d+";
			if (s.matches(regex)) {
				n = Integer.parseInt(s);
				if(n<10 && n>0){
					break;
				}else{
					System.out.print("请重新输入:");
				}
			} else {
				System.out.print("请重新输入:");
			}
		}
		return n;
	}
}
时间: 2024-07-31 14:24:28

代码实现:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字的相关文章

8 求s=a+aa+aaa+aaaa+aa...a的值

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字. * 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制.程序分析:关键是计算出每一项的值. 1 public class _008MoreAdd { 2 3 public static void main(String[] args) { 4 print(); 5 } 6 7 private static void print() { 8 long a = 0; 9 while (t

求s=a+aa+aaa+aaaa+aa...a的值

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制. 算法: 定义一个变量b, 赋初值为0:定义一变量sum, 赋初值为0,进入循环后,将a + b 的值赋给b,将sum + b 的值赋给sum:同时,将a 增加十倍,++ i: 继续循环:循环结束后,输出sum 的值. 1 package com.li.FiftyAlgorthm; 2 3 import java.util.Scann

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

一.第一种写法 package com.pb.demo1; import java.util.Scanner; /** * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加), * a以及累加数的位数是从键盘接收. 程序分析: * 1. 接收从键盘输入的一个数(数字只能是1-9之间的数) * 2. 接收一个数表示累加数的位数 * 3.例如,输入一个4(累加数的位数),键盘输入a的值是5:s=5+55+555

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

//求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.//例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. 1 package com.lw.HomeWork1;//包名 2 import java.util.Scanner; 3 public class Demo18 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO

C语言求S(n) = a+aa+aaa+aaaa+...+aa..a之值,其中a是一个数字,n表示a的位数例如:2+22+222+2222+22222(此时n=5),n和a都从键盘输入。

求S(n) = a+aa+aaa+aaaa+...+aa..a之值,其中a是一个数字,n表示a的位数例如:2+22+222+2222+22222(此时n=5),n和a都从键盘输入. #include <stdio.h> int main() { int n; int a; int sum = 0; int k = 0; int temp = 1; scanf("%d,%d", &n, &a); for (int i = 0; i<n; i++) { k

【编程小题目7】求s=a+aa+aaa+aaaa+aa...a的值

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制 #include <iostream>#include <string>using namespace std; long Function(int number, int n){ if(n == 1) { return number; } else { return Function(number ,n - 1) *

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字

/* 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制. */ #include<stdio.h> #include<math.h> main() { int s=0,a,n,i; scanf("%d%d",&a,&n); s+=a; for(i=1;i<n;i++){ a=a*10+2; s+=a; } printf("%

求几个相同数字组成不同位数数字的和:s=a+aa+aaa+aaaa+aa…a的值

使用C语言编写程序求解: s=a+aa+aaa+aaaa+aa-a的值,其中a是一个数字. 例如2+22+222+2222+22222(此时a=2,共有5个数相加)其中a和个数n由键盘输入控制. #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> size_t Sum(size_t a, size_t n) {  size_t sum = a, tmp = a;  size_t i = 0;

s=a+aa+aaa+aaaa+aa...aaaa

main(){ int a,n,count=1; long int sn=0,tn=0; cout<<"input a and n:"; cin>>a>>n; while(count<=n){ tn=tn+a; sn=sn+tn; a=a*10; ++count;} cout<<"a+aa+aaa+a........"<<sn;