19+199+1999+……+1999…9(1999个9)和是多少?

2023-05-06 16:37:28 浏览数 (1)

代码语言:javascript复制
#include <iostream>
#include <cstdlib>
using namespace std;
int num[1000001];
//19 199 1999 …… 1999…9(1999个9)和是多少?
int main()
{
	int n, t = 2, temp = 0, jin = 0, j = 0, hou = 0;
	cin >> n; 
	for (int i = n; i >= 1; --i)	
	{
		temp = t   jin;
		num[j  ] = temp % 10;
		jin = temp / 10;
	}
	if (jin > 0)
	{
		num[j] = jin;
	}
	else
	{
		--j;
	}
	if (n >= 5)
	{
		for (int i = j; i >= 5; --i)//减2减n 
		{
			printf("%d", num[i]);//从头到尾的程序是多余的,直接输出n个2再相减即可 
		}
	}
	for (int i = 4; i >= 0; --i)
	{
		hou = hou   num[i];
		hou *= 10;//最后一个2变成20,如果输入1,则hou变成20 
	}
	hou = hou - n;//每次多加了一个1,最后减出来 
	cout << hou;	
	return 0;
}

0 人点赞