要求:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
代码如下:
#include
long output(long b,long i)
{
printf("\n%ld/%ld=809*%ld+%ld",b,i,i,b%i);
}
int main()
{
long int a,b,i;
a=809;
for(i=10;i {
b=i*a+1;
if(b>=1000&&b<=10000&&8*i=100)
output(b,i);
}
}
运算结果为:9709/12=809*12+1
以上结果左右不等价,但是却能运行,请问代码有什么问题???
#include "stdio.h"
int main(int argc, char* argv[])
{
for (int i = 10; i <= 99; i++)
{
if (809*i==800*i+9*i+1 && 8*i>=10 && 8*i<=99 && 9*i>99 && 9*i<=999)
printf("%d", i);
}
return 0;
}
没有满足的结果
@caozhy
0!=1,所以无结果对吧~~那怎样修改能正确运行呢???
b=i*a+1;
这里没有/12的逻辑
9709=809*12+1
成立
@caozhy
尽然没有/12逻辑,为啥运行结果却出现了这个呢?