数学问题求解!急!!
展开全部
分类: 教育/学业/考试 >> 学习帮助
问题描述:
825和528我们称为反序数,那么有一对反序数得积是6798063 求他们分别是多少?这道题目我想了很久也没想出来,是否有问题??!
解析:
你出的这个题目确实有问题:
我的计算方法如下:
一:首先我确定这对数应该是四位数,理由是最大的三位数999与999的乘积是998001,而最小的五位数乘积远大于你给的6798063
二:基于是四位数我用了最简单的小程序;程序体如下:
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
int main(int argc, char* argv[])
{
printf("Hello World!\n");
int i,j,k,s;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
for(s=0;s<10;s++)
{
if((1000*i+100*j+10*k+s)*(1000*s+100*k+10*j+i)==6798063)
printf("i=%d,j=%d,k=%d,s=%d\n",i,j,k,s);
}
return 0;
}
结果没有输出值;
三:我确定你给的数据有误:理由是,我用自己的测试数据,我把你给的6798063改成5332114;马上输出我想要的结果1234和4321
不知对否?同样可以扩展到五位数、六位数。。。。
其实程序还可以做好多优化:比方说可以确定结尾是1跟3,或者是7和9的乘积,只有这两种可能
问题描述:
825和528我们称为反序数,那么有一对反序数得积是6798063 求他们分别是多少?这道题目我想了很久也没想出来,是否有问题??!
解析:
你出的这个题目确实有问题:
我的计算方法如下:
一:首先我确定这对数应该是四位数,理由是最大的三位数999与999的乘积是998001,而最小的五位数乘积远大于你给的6798063
二:基于是四位数我用了最简单的小程序;程序体如下:
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
int main(int argc, char* argv[])
{
printf("Hello World!\n");
int i,j,k,s;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
for(s=0;s<10;s++)
{
if((1000*i+100*j+10*k+s)*(1000*s+100*k+10*j+i)==6798063)
printf("i=%d,j=%d,k=%d,s=%d\n",i,j,k,s);
}
return 0;
}
结果没有输出值;
三:我确定你给的数据有误:理由是,我用自己的测试数据,我把你给的6798063改成5332114;马上输出我想要的结果1234和4321
不知对否?同样可以扩展到五位数、六位数。。。。
其实程序还可以做好多优化:比方说可以确定结尾是1跟3,或者是7和9的乘积,只有这两种可能
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询