c++for循环莫名其妙不进行
三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
-------------------
三 羊 生 瑞 气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字
请你填写“三羊献瑞”所代表的4位数字(答案唯一),
// 求字.cpp: 定义控制台应用程序的入口点。
//a1三b0羊c8献d5瑞e2气f6生g7辉h9祥
#include "stdafx.h"
#include<iostream>
using namespace std;
int main()
{
long a=1, b=0, c=0, d=0, e=0, f=0, g=0,h=0,sum_1,sum,i,n;
sum = (g + (f * 10) + (d * 100) + (h * 1000)) + (d + (c * 10) + (b * 100) + (a * 1000));
sum_1 =( e + (10 * d) + (f * 100) + (b * 1000) + (a * 10000));
for (i = 0; sum_1 != sum;i++) {
n = i;
b = i % 10;
i = i / 10;
c = i % 10;
i = i / 10;
d = i % 10;
i = i / 10;
e = i % 10;
i = i / 10;
f = i % 10;
i = i / 10;
g = i % 10;
i = i / 10;
h = i % 10;
i = i / 10;
sum = (g + (f * 10) + (d * 100) + (h * 1000)) + (d + (c * 10) + (b * 100) + (a * 1000));
sum_1 = e + (10 * d) + (f * 100) + (b * 1000) + (a * 10000);
i = n;
}
cout << a << b << c << d;
system("pause");
return 0;
}
我使用的是超级暴力的解法,但是理论上应该是没有问题的,可是每次vs2017编译最后输出都是1000,也就是没有进入循环
的初始数字,真的很头痛,求解决。难道循环有上限么?