设置 变量 n n = 2; * *---* * n = 3; * *---* *-----* *---* * n = 4; * *---* *-----* *-------* *-----* *---* * 输出相应的 图形 n= 几的时候 就出现 相对应的 图形
还可以用递归的方法 public class TestHe { public class Array { public void main(String[] args){ System.out.println(func(100)); } private int func(int num){ if(num==1) return 1; else return num+func(num-1); } } }
ych3000() 你的帖子我回了,给分吧,嘿嘿。
菱形的打印 可以参照 public class Test { public static void main(String args[]) { int line = Integer.parseInt(args[0]); int n = -line; do { show(Math.abs(n),'-'); show((line-Math.abs(n))*2+1,'*'); System.out.println(); n++; }while (n<=line); } public static void show(int i,char c) { for (int n = 0;n<i;n++) { System.out.print(c); } } }
public class Test { public static void main(String args[]) { int a1 = 1 ,d = 1,sum=0,n = 100;
sum = n*a1+n*(n-1)*d/2 ; //int an=100; //sum=(a1+an)*n/2; /** for(int i=1;i<=100;i++){
sum+=i; } */ System.out.println(sum); } }
直接利用公式sum = (1+100)*100/2
用求和公式就得了 sum = (1+100)*100/2
int[] x=new int[100]; int sum=0; for(i=0,i<x.length,i++){ sum+=x[i]; }
static int addNum(int start, int end)// 该方法适用于连加,start为开始的数,end为最后的数 { int sum; sum = ((start+end)*(end-start+1))/2; return sum; } public static void main(String[] args) { System.out.println(addNum(1,100)); } 试一下,这个方法比for或者递归都要快!!!
FOR(int i=1;i<+100;i++)
j+=i;
for(int i=1;i<101;i++){
n = n + i;
}
System.out.println(n);
n = 2;
*
*---*
*
n = 3;
*
*---*
*-----*
*---*
*
n = 4;
*
*---*
*-----*
*-------*
*-----*
*---*
*
输出相应的 图形
n= 几的时候 就出现 相对应的 图形
public class TestHe {
public class Array {
public void main(String[] args){
System.out.println(func(100)); }
private int func(int num){
if(num==1)
return 1;
else
return num+func(num-1); } }
}
可以参照
public class Test
{
public static void main(String args[])
{
int line = Integer.parseInt(args[0]);
int n = -line;
do {
show(Math.abs(n),'-');
show((line-Math.abs(n))*2+1,'*');
System.out.println();
n++;
}while (n<=line);
}
public static void show(int i,char c)
{
for (int n = 0;n<i;n++)
{
System.out.print(c);
}
}
}
{
public static void main(String args[])
{ int a1 = 1 ,d = 1,sum=0,n = 100;
sum = n*a1+n*(n-1)*d/2 ;
//int an=100;
//sum=(a1+an)*n/2;
/**
for(int i=1;i<=100;i++){
sum+=i;
}
*/
System.out.println(sum);
}
}
sum = (1+100)*100/2
int sum=0;
for(i=0,i<x.length,i++){
sum+=x[i];
}
35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 + 100;
int main(int argc,char* argv[])
{
int sum=0;
for(i=0;i<=100;i++)
{
sum+=i++;
}
printf("%d\n",sum);
}
这个绝对最高效。。
{
sum +=i;
i++;
}
OR
for(int i=1;i<=100;i++){
sum+=i;
}
这是考循环的题目
递归也可以
int fact(int n)
{
int result;
if (n==1) return 1;
else
{
result=fact(n-1)+n;
return result;
}
}
如果大家都是从开始学的时候,肯定也都是只知道这样的办法的啊
static int addNum(int start, int end)// 该方法适用于连加,start为开始的数,end为最后的数
{
int sum;
sum = ((start+end)*(end-start+1))/2;
return sum;
}
public static void main(String[] args)
{
System.out.println(addNum(1,100));
}
试一下,这个方法比for或者递归都要快!!!