本文共 824 字,大约阅读时间需要 2 分钟。
首先给出简单加法算式的定义:
如果有一个算式(i)+(i+1)+(i+2),(i>=0),在计算的过程中,没有任何一个数位出现了进位,则称其为简单的加法算式。 例如:i=3时,3+4+5=12,有一个进位,因此3+4+5不是一个简单的加法算式;又如i=112时,112+113+114=339,没有在任意数位上产生进位,故112+113+114是一个简单的加法算式。问题:给定一个正整数n,问当i大于等于0且小于n时,有多少个算式(i)+(i+1)+(i+2)是简单加法算式。其中n<10000。
输入格式 一个整数,表示n 输出格式 一个整数,表示简单加法算式的个数 例子样例输入
4 样例输出 3 提示请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意: main函数需要返回0
注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。 注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。 提交时,注意选择所期望的编译器类型。只需要用一个函数,来判断(i,i+1,i+2)这三个数相加是否需要进位即可。
代码:
#includeint num = 0;int judge(int i,int j,int k){ int a,b,c; int flag=1; while(i || j || k) { a=i%10; b=j%10; c=k%10; i/=10; j/=10; k/=10; if(a+b+c>=10) flag=0; } return flag;}int main (){ int n; scanf("%d",&n); int i; for(i=0;i
转载地址:http://aprzi.baihongyu.com/