输入整数a,输出结果s,其中s与a的关系是:s=a+aa+aaa+aaaa+aa...a,最后为a个a。例如a=2时,s=2+22=24 .

供稿:hz-xin.com     日期:2025-01-13
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个一位的整数。c++

#include
using namespace std;
int main()
{
int a,s,b,x=0,y=0;//初始化
cin>>a>>b;
for(;x<b;x++) {//加大括号,s没必要
x=x*10+a;
y=y+x;
}
cout<<y<<endl;
return 0;
}


#include int main() {int i,n,a,sum = 0;while(scanf("%d%d",&n,&a) == 2 && a && n) {sum = 0;for(i = 1; i <= n; ++i) {sum = 10 * sum + a;}printf("sum = %d
",sum);}return 0;}

C语言程序:

#include <stdio.h>

void main()

{

    int a, n;

    long f, s;

    int i; 

    printf("请输入a、n(以空格分隔):");

    scanf("%d%d", &a, &n);

    f = s = 0;

    for(i=0; i<n; i++)

    {

        f = f * 10 + a;

        s += f;

    } 

    printf("a + aa + aaa + ... aa..a = %ld
", s);

}

运行测试:

请输入a、n(以空格分隔):2 6;

a + aa + aaa + .. + aa..a = 246912。

如题干中所示,一共需要输入两个数字,第一个是需要求和的数字,第二个是数字最多的个数,例如,第一次输入5,第二次输入3,则求的是5+55+555的和。不难可以看出,不论输入的是几, 最后都可转化为1+11+1…1的和(最多的1的数目取决于第二次输入的数字)再乘以第一次输入的数字。

于是这个问题就分解成了:(1)用键盘输入一个数字,求出1+11+1…1(定为a式)(最多的1的数目取决于输入的这个数字)的和(2)用1中的结果再乘以一个之前输入好的数字。显然,问题二对于初学者来说很好解决,我们只需要解决问题(1)。 

不难看出,问题(1)又可分解为,(1)+(1+10)+(1+10+100),即100+(100+101),以此类推,到这里,这个问题就成了乘方再相加的问题了。(注,Java的math类中有求乘方的方法,有兴趣可自行查询)对于对math类接触不多的初学者来说,现在唯一的问题就是求10的乘方的问题,由于我们只需要求10的几次方,所以构造一个方法,用循环就可以很好的解决这个问题。



正解来了:
public static int result(int a)
{
int result = 0;
int current = a;
for(int i=1;i<=a;i++){
if (i > 1)
{
current = current * 10+a;
}
result+=current;
}
return result;
}

这个是数列 有公式的 通项公式是s= (a/9)*(9^a-1)

int b=(a/9)*(Math.Pow(10, a)-1)

#include "stdio.h"
#include "stdlib.h"
void main()
{
int a,n,s=0;
printf("请输入2到9之间的数据:");
scanf("%d",&a);
n = a;
for(int i=1;i<=a;i++)
{
s += n;
n = a + n*10;
}
printf("%d",s);
system("pause");
}

int b=a;
for(int j=0;j<a;j++)
{
int c=0;
for(int k=0;k<j;k++)

{
c+=k*10+a;
}
b+=c;
}
没测试,差不多了

设有关系Rl和R2,经过关系运算得到结果S,则S是A)一个关系 B)一个表单C...
【答案】:A 本题考查考生对关系基本运算的理解,关系运算得到的结果还是一个关系,因此选项A正确。

C语言中scanf("%c%*c%c%*c%d",&a,&b,&c)
scanf("%c%*c%c%*c%d",&a,&b,&c); \/\/%c表示接受一个字符,%*c表示输入中,忽略一个字符 \/\/如果输入asbs1 \/\/那么输出结果a,b,c对应的为a b 1,其中s,s忽略了

c语言问题,关于printf语句的输出
( 对c、s、d、u类无影响; 对o类,在输出时加前缀o; # 对x类,在输出时加前缀0x; 对e、g、f 类当结果有小数时才给出小数点。)3) 输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。

输入两个正整数a和b,输出使a≥b^ n成立的?
例:括号内是说明 输入:2000 4 (a=2000, b=4)输出:5 编程题,不要输出与结果无关的字符。输入1 个正整数 n, 计算并输出 s 的前n项的和(保留 3 位小数)。S=1\/1 + 1\/3 + 1\/7 + 1\/15 + 1\/31 +……(该序列从第2项起,每一项的分母与前一项的分母之差是一个等比数列)例...

对任意正整数n,请设计一个程序框图,求s=1×2+2×3+3×4+…+n(n+1...
1、输入任意正整数n,首先判断是否是1或2,是就输出1或2,否就进行下一步 2、循环计算s=s+n(n+1)3、n=n-1,判断n是否等于0,是则跳出循环,输出计算结果s,否就返回上一步继续循环 Private Sub Command1_Click()Dim n As Integer n = InputBox("请输入一个正整数")Print "fun(N)=1...

...一个正整数,计算该数的各个位数字之和,并显示结果。
include "stdio.h"int main(){ long a;int s = 0;printf("请输入一个正整数:");scanf("%ld",&a);for (int i=0;;i++){ s += a%10;if (a<10){ break;} a = a\/10;} printf("\\n各位数之和为:%d\\n",s);return 0;} ...

用while循环编程实现输入整数n,输出n!
1 2 3 4 5 6 7 8 int n=10;\/\/任意输入的值 int i = 1;int sum=i;while(i<=n){ sum *= i;i++;}

如图是一个算法的流程图,最后输出的S=__
P=9,经过第二次循环得到的结果为s=16,a=3,P=16,经过第三次循环得到的结果为s=21,a=4,P=21,经过第四次循环得到的结果为s=24,a=5,P=21,经过第五次循环得到的结果为s=25,a=6,P=25,经过第六次循环得到的结果为s=24,a=7,此时满足判断框中的条件输出25故答案为25.

C语言编程,输入两个正整数M和N(M<N),计算M和N之间的所有整数和
一、基本方法:1、输入M和N;2、遍历从M到N的所有整数;3、每个累加;4、输出结果。参考代码:include <stdio.h>int main(){ int M,N,n,s=0; scanf("%d%d",&M,&N);\/\/输入 for(n = M; n <= N; n ++)\/\/遍历 s+=n;\/\/累加每个整数。 printf("%d\\n",s);\/...

某程序框图如图所示,若输出结果为 S= 8 9 ,则判断框内应为( ) A.k...
3 ,k=2+1=3,第3次循环:S= 2 3 + 1 3×4 = 3 4 ,k=3+1=4,…发现其中特点为:S的分子与次数一致,k的值比次数大1.第8次循环:S= 8 9 ,k=8+1=9根据判断框内为跳出循环的语句∴k≥9故选D.