黑马程序员技术交流社区

标题: 关于for循环的题目解答 [打印本页]

作者: 奔跑的蚂蚁iOS    时间: 2016-2-16 22:43
标题: 关于for循环的题目解答
用户输入两个数,a和n。Sum=a+aa+aaa+aaaa+……+a…aaaa
如输入 a=2 ,n=5 ;
Sum=2 +22+222+2222+22222
各位大神帮帮忙,在线等
作者: 会飞得猪    时间: 2016-2-16 22:50
你得意思是用for循坏实现这个功能不
作者: 奔跑的蚂蚁iOS    时间: 2016-2-16 22:56
会飞得猪 发表于 2016-2-16 22:50
你得意思是用for循坏实现这个功能不

肯定要用循环吧,但具体用哪种循环也没做要求。
作者: 曦正    时间: 2016-2-17 13:59
虽然我不懂,但是我有源代码
作者: 奔跑的蚂蚁iOS    时间: 2016-2-17 17:49
发过来看看
作者: chuanzhang    时间: 2016-2-17 21:49
在xcode中的编程
#include <stdio.h>

int main(int argc, const char * argv[]) {
//定义sum总和,m每循环一次单个的数
    int sum=0,m=0;
    int k=0;
    int a,n ;
    //提示用户输入两个数并以','隔开
    printf("请输入两个数以','隔开\n");
    //从键盘接收a n
    scanf("%d,%d",&a,&n);
    //双重循环求和
    for (int i=0; i<n; i++) {
        //求每一次循环的整十数
        for (int y=0; y<i+1; y++) {
            k=a*pow(10,y);
            
        }
        m=m+k;
        sum=sum+m;
    }
    //输出总和
    printf("sum=%d\n",sum);
   
    return 0;
}

作者: 奔跑的蚂蚁iOS    时间: 2016-2-18 09:22
chuanzhang 发表于 2016-2-17 21:49
在xcode中的编程
#include

非常感谢,不过我们好像没学pow函数,开始有点没看懂!
作者: 一个疯子    时间: 2016-2-18 09:55
纯手打,写了伪代码提供一下思路
//用来存放和
int sum = 0;
//用来存放当前循环所产生的数
int temp = 0;
int curNum = 0;
//这里的n是循环次数,放在题目中就是控制最大位数
for(int i = 0 ;i < n; i++){
temp = pow(10,i);//求出这次循环的最大千位数 比如2000
curNum = sum + curNum;//这是这是产生的完整的数,比如2222
sum = sum + curNum;//这是前面所有数的和,比如2+22+222+2222


楼主要明白一个数是如何产生的,它是由个十百千万……组成的
作者: chuanzhang    时间: 2016-2-18 10:32
一个疯子 发表于 2016-2-18 09:55
纯手打,写了伪代码提供一下思路
//用来存放和
int sum = 0;

这一个简单点,思路比较明确,谢谢
作者: 李岳珉    时间: 2016-2-18 10:41
本帖最后由 李岳珉 于 2016-2-18 10:43 编辑

import java.util.Scanner;  public class other {                  public static void main(String[] args) {                 
Scanner s1 = new Scanner(System.in);                 Scanner s2 = new Scanner(System.in);                 
long a = s1.nextInt();                 
long n = s2.nextInt();                 
long sum = 0;                 long temp = 0;                                 
for (int i = 1; i <=n; i++) {//加的数                                         
temp = temp*10+a;                                         
sum +=temp;                                         
System.out.println(temp);                                
}                                 
System.out.println(sum);                                 
System.out.println(temp);                 
}  }





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2