点赞(2)
 

0.0分

141 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 96 条评论

悠游 1年前 回复TA
@收敛水 你指那个加号吗,实际上就是sum=sum+2*(i+1)
dotcpp0676864 1年前 回复TA
#include<stdio.h>
int main()
{
    int a,b=0,c=0;
    scanf("%d",&a);
    for(int i=0;i<a;i++)
    {
        c=c*10+2;
        b=b+c;
    }
    printf("%d",b);
    return 0;
}
junzhe051129 1年前 回复TA
@我超级棒呀 @dotcpp0639593 说的太清楚了,佩服佩服
keheia 1年前 回复TA
#include <stdio.h>
#include <math.h>
int main(){
	int sz(int n);
	int n,i=0;
	scanf("%d",&n);
	printf("%d",sz(n));
	return 0;
	
}
int sz(int n){
	int y=0,i=0,z=0,x=0;
	for(y;y<n+1;y++){
		for(i;i<y;i++){
			z=z+2*pow(10,i);
		}
		x=x+z;
	}
	return x;
}
收敛水 1年前 回复TA
小白有个问题,sum+=2*(i+1)是啥意思
循环后在循环 2年前 回复TA
/*
求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,
其中a是一个数字,为2。 例如,n=5时=2+22+222+2222+22222,n由键盘输入
*/
#include <stdio.h>
main()
{
	int sn,a,n,i,sum=0;
	scanf("%d",&n);
	a=2;
	sn=0;
	for(i=1;i<=n;i++)
	{
		sum=sum*10+a;
		sn+=sum;
	}
	printf("%d",sn);
}
kanna 2年前 回复TA
#include<stdio.h>
int main()
{
	int n,sum=0,sn=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
	    sum+=2*pow(10,i);
	    sn=sn+sum;
	}
	printf("%d",sn);
	return 0;
}
kk 2年前 回复TA
@我超级棒呀 想法是上面的写法,你看不懂是因为你没看懂他是怎么实现这个过程的,首先,按照上面的思路,叠加起来后,百分位的2的个数永远比十分位2的个数少1个,十分位2的个数又永远比个位2的个数少1个,利用这个规律,从n=2来看,i=1时,sum=2,i=2时,证明十分位有1个2,个位有2个2,把i=1时,sum=2的结果乘以2,就得到了十分位的1个2,然后再计算个位2个2,在把结果相加;同理,当n=3时,在i=2的情况下,sum=24,i=3时,百分位应该是1个2,十分位2个2,所以把i=2情况下得到的sum=24*10,就得到240,就解决了百分位和十分位,然后再加上剩下的个位的3个2,就是结果,这样就好理解了
kk 2年前 回复TA
@我超级棒呀 他这个解法也挺有意思的,n=1,sum=2,sum个位数有1个2,n等于2,sum=2+22,sum个位数有2个2,十位有1个2,sum=2*2+2*1*10,n等于3,sum=2+22+222,个位3个2,十位2个2,百位1个2,sum=2*3+2*2*10+2*1*100
cmbztc 2年前 回复TA
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int i,n,sn;
    scanf("%d",&n);
    sn=0;
    for(i=0;i<n;i++)
    sn+=2*(pow(10,i+1)-1)/9;
    printf("%d",sn);
}