热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言数学题

某人购买的体育彩票猜中了4个号码,这4个号码按照从大到小的顺序组成一个数字可被11整除,将其颠倒过来也可被11整除,编写函数求符合这样条件的4个号码。可被11整除颠倒过来也可被11整除的正整数例如3
某人购买的体育彩票猜中了4个号码,这4个号码按照从大到小的顺序组成一个数字可被11整除,将其颠倒过来也可被11整除,编写函数求符合这样条件的4个号码。可被11整除颠倒过来也可被11整除的正整数例如341,它可被11整除,颠倒过来143也可被11整除。体育彩票采用整数1、2、3、……、36表示36种体育运动。
这个要怎么做??难道要4层循环挨个试?
求高手解答~ 

22 个解决方案

#1


其实如果一个数字可以被11整除,那么颠倒过来也一定可以被11整除的……

#2


路过。。。

#3


A方法,遍利穷举所有组合,是不是符合要求.
B方法,反向思维4位11的整数大概在90~909倍之间,一层循环就够了.

for (int i=90; i<=909, i++)
{
    num = 11 * i;
    // 下面是判断是不是符合正反颠倒的要求.
}

#4


上面错了,大概在91~909倍之间.

#5


首先解决重大到小的排列过程,这样就可以把范围缩小为原来的1\24, 这个彩票后面印有1到36是个什么意思?
这个人买了4张彩票吗?

#6


就是彩票的号码是从1到36~

#7



#include "stdio.h"
#include 
#include 

main()
{
    int n[4],i,digit[8],digit_all,digit_left;
    int mul[4];
    long num,num_turn;
    for (n[0]=1;n[0]<=36;n[0]++)
        for (n[1]=1;n[1]             for (n[2]=1;n[2]                 for (n[3]=1;n[3]                     {num=num_turn=0;
                     for (i=0;i<4;i++)
                        {if (n[i]>=10) mul[i]=2;
                         else mul[i]=1;
                        }
                     num=n[0]*pow(10,(mul[1]+mul[2]+mul[3]))+
                     n[1]*pow(10,(mul[2]+mul[3]))+n[2]*pow(10,mul[3])+n[3];
                     if(num%11==0)
                        {
 
                         digit_all=mul[0]+mul[1]+mul[2]+mul[3];
                         
 for (i=0,digit_left=num;i   {digit[i]=digit_left%10;
   digit_left=digit_left/10;
  }
  for (i=0;i   {num_turn=num_turn+digit[i]*pow(10,(digit_all-i-1));
  }
  if(num_turn%11==0)
{printf("zhengxu %ld\t",num);
 printf("daoxu %ld\n",num_turn);
 for (i=0;i<4;i++)
  printf("%d\t",n[i]);
   printf("\n");
}

}
                    }


}


其实如果一个数字可以被11整除,那么颠倒过来也一定可以被11整除的
原来我的很多代码白写了。。。。这题不是玩我的吗。。。。

#8


飘过...

#9


mark

#10


被11整数的数的特点(十进制表示):奇数位上的数字之和-偶数为上的数字之和,得到的值能被11整除,则这个数能被11整数。

#11


找出能被11整除的那么直接可以for循环直接
for(i=1;i<=n;i++)
   hash[i*11]++;
然后在根据哪个等于1的在继续找,找什么呢?找它的反数,判断它的反数hash里面那个值是不是等于1,判断2个满足要求,满足的话就打印这组数据然后把hash[i]和hash[j]变为0(防止在次访问hash[j]避免重复)在count++

#12


引用 1 楼 peacefulby 的回复:
其实如果一个数字可以被11整除,那么颠倒过来也一定可以被11整除的……


这个不对~我代码没白写~~~

#13


引用 1 楼 peacefulby 的回复:
其实如果一个数字可以被11整除,那么颠倒过来也一定可以被11整除的……

这个是对的。。。。我程序有错误。。。。。
谁给看一下错误?
把if(num_turn%11==0)
改为if(num_turn%11!=0)输出的逆序数是错的。。。

#14


可以试着用递归实现,思想还是枚举,但理解起来较简单,代码量也较少。

#15


c

#16


这样的数根本不存在...题目要求 这4个号码按照从大到小的顺序组成一个数字可被11整除
因为能被11整除,这个数必须满足奇数位的和等于偶数位的和,即千位十位的加起来等于白位加个位。
都规定了这个数按从大到小排列了,千位+十位肯定大于白位+加个位。

至于你举的例子,341这个是从大到小排列吗???改成431你给我除个试试。

#17


如果没要求大小排列,那么找4个数,只要满足A+B = C+D
就能写出8个:ACBD, ADBC, BCAD, BDAC, CADB, CBDA, DACB, DBCA.

#18


在linux用gcc改为if(num_turn%11!=0)输出就没有数据~
为什么Cfree的有问题??好奇怪。。。。

#19


引用 16 楼 zhangxfeng112 的回复:
这样的数根本不存在...题目要求这4个号码按照从大到小的顺序组成一个数字可被11整除
 因为能被11整除,这个数必须满足奇数位的和等于偶数位的和,即千位十位的加起来等于白位加个位。
 都规定了这个数按从大到小排列了,千位+十位肯定大于白位+加个位。

 至于你举的例子,341这个是从大到小排列吗???改成431你给我除个试试。
你不仅没看明白题,你连什么是彩票都不知道。
这个可以是8位数好吧

#20


引用 14 楼 pearling 的回复:
可以试着用递归实现,思想还是枚举,但理解起来较简单,代码量也较少。

感觉递归不容易理解,而且内存使用也大~就是代码少~

#21


引用 19 楼 ustbleetom 的回复:
引用 16 楼 zhangxfeng112 的回复:
至于你举的例子,341这个是从大到小排列吗???改成431你给我除个试试。
你不仅没看明白题,你连什么是彩票都不知道。
 这个可以是8位数好吧

那你倒是说清楚啊,问题描述成这样,谁知道你说的是什么意思。

#22


引用 21 楼 zhangxfeng112 的回复:
 那你倒是说清楚啊,问题描述成这样,谁知道你说的是什么意思。

您是那种回帖不看帖的~~
问题说的不清楚,6l说的很明白了~~






推荐阅读
  • 本文为Codeforces 1294A题目的解析,主要讨论了Collecting Coins整除+不整除问题。文章详细介绍了题目的背景和要求,并给出了解题思路和代码实现。同时提供了在线测评地址和相关参考链接。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 本文介绍了C函数ispunct()的用法及示例代码。ispunct()函数用于检查传递的字符是否是标点符号,如果是标点符号则返回非零值,否则返回零。示例代码演示了如何使用ispunct()函数来判断字符是否为标点符号。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • C++中的三角函数计算及其应用
    本文介绍了C++中的三角函数的计算方法和应用,包括计算余弦、正弦、正切值以及反三角函数求对应的弧度制角度的示例代码。代码中使用了C++的数学库和命名空间,通过赋值和输出语句实现了三角函数的计算和结果显示。通过学习本文,读者可以了解到C++中三角函数的基本用法和应用场景。 ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • 本文介绍了C++中的引用运算符及其应用。引用运算符是一种将变量定义为另一个变量的引用变量的方式,在改变其中一个变量时,两者均会同步变化。引用变量来源于数学,在计算机语言中用于储存计算结果或表示值抽象概念。变量可以通过变量名访问,在指令式语言中引用变量通常是可变的,但在纯函数式语言中可能是不可变的。本文还介绍了引用变量的示例及验证,以及引用变量在函数形参中的应用。当定义的函数使用引用型形参时,函数调用时形参的改变会同时带来实参的改变。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 本文讨论了一个数列求和问题,该数列按照一定规律生成。通过观察数列的规律,我们可以得出求解该问题的算法。具体算法为计算前n项i*f[i]的和,其中f[i]表示数列中有i个数字。根据参考的思路,我们可以将算法的时间复杂度控制在O(n),即计算到5e5即可满足1e9的要求。 ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
author-avatar
飞天美术_888_265
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有