实现s=1+11+121+1221+12221+122221应该怎么编程?
仅供参考!
long long型最长19位数左右,要更多的项可求则需要另外编写。
#include <stdio.h>
#include <math.h>
long long output(int n)
{
long long m = 0LL;
if (n < 0)
return 0;
else if (n == 1)
return 1LL;
else if (n == 2)
return 11LL;
else
{
m += 1LL + (long long)pow(10, n - 1);
for (int i = 1; i < n - 1; i++)
m += 2 * (long long)pow(10, i);
}
return m;
}
int main(int argc, char *argv[])
{
int n;
long long sum = 0LL;
scanf("%d", &n);
for (int i = 1; i <= n; i++)
sum += output(i);
printf("\n%lld\n", sum);
return 0;
}
只有这几个数字,还是循环,只有这几个的话,直接输出加起来就好了