缘由不变初心数思路问题提问-编程语言-CSDN问答

各位,这个不变初心数我感觉我这样写没毛病呀
首先将输入的这个x的各个位数和算出来定义为sum
其次在用循环算出x的2.3.4.5.6.7.8.9倍为t,在算出t的各个位数和为s
然后判断s与sum是否相等,用y这个变量来控制是否为不变初心数
感觉没毛病呀,希望各位能帮我看一下问题出在哪里

void 不变初心数()
{//缘由
	int n = 0, s = 0, bs = 0, b = 2, h = 0, j = 0, cx = 0;
	cin >> n;
	while (n-->0)
	{
		cin >> s;
		while (b<10)
		{
			j = s*b;
			while (j)h += j % 10, j /= 10;
			if (!cx)
				cx = h, ++b, h = 0;
			else if (h != cx)
				cx = h = 0, b = 11;
			else
				++b, h = 0;
		}
		if (b == 10)cout << cx << "\n"; else cout << "NO\n";
		cx = h = 0, b = 2;
	}
}

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐