有没有能写出的

qq_45808024 2020-01-04 03:30:49
求出10000以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些四位自然数的个数cn以及这些数的和sum。
...全文
21 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
HerryDong 2020-01-04
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int sum = 0;
            int count = 0;
            for (int i = 1000; i < 10000; i++)
            {
                if (Validate(i))
                {
                    sum += i;
                    count++;
                }
            }
            Console.WriteLine("满足条件的四位自然数的个数为:{0}", count);
            Console.WriteLine("满足条件的四位自然数的和为:{0}", sum);
            Console.ReadKey(true);
        }

        static bool Validate(int num)
        {
            int a = num % 10;          // 个位数
            int b = num / 10 % 10;     // 十位数
            int c = num / 100 % 10;    // 百位数
            int d = num / 1000;        // 千位数
            if (a + b == c + d && c + d == 10 * (a - d))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}
纯粹个人爱好 2020-01-04
  • 打赏
  • 举报
回复
假设四位数是abcd,由条件有a+b=c+d,a+b=10*(d-a),可以得到c和d关于a,b的表达式,10*d=11*a+b,c=a+b-d,注意到0<=d<=9,0<=c<=9且c,d都是整数,因此两个循环就可以解决问题了。
int a,b,c,d;
List<int> result = new List<int>();
for(a=1;a<=9;a++)
{
for(b=0;b<=9;b++)
{
d=(11*a+b)/10;
if((10*d)!=(11*a+b)) continue;
if(d>9) continue;
c=a+b-d;
if(c<0||c>9) continue;
result.Add(1000*a+100*b+10*c+d);
}
}
cn=result.Count;
sum = ((int[])(result.ToArray())).Sum();
不需要开发,0行代码写接口服务,sql编程,只要会sql就会写接口服务,让后端变得更简单,简单4步短短5分钟,立马上手,java小白也可以写接口。订阅课程后可以免费获取发布版进行使用和测试。 0行代码写服务的需要来源案例一,当时有个项目,有400张表,都是管理系统,单表维护的内容较多,当时的项目团队是13人,前后端都写,那时候还没有springboot,用的是ssm,mybatis刚出来,有了替代hibernate的趋势,ifelse写了一堆又一堆,实体类也是,当时的后端分了7层☒,天天加班干这活,复制粘贴,很容易犯错,实体类多人引用修改,真的是废了很大的劲……案例二,也是一个比较大的项目,两千万多万那种,当时为了拿项目,需要快速实现原型给客户看,要求比较高,虽说是原型但是数据全部需要实时,这时候就需要大量编写数据接口,同样编写接口这件事难度倒是不大,但是量大,编写过程手写很容易出错……案例三,以前管理的团队主要做移动端开发,里面的项目会涉及到推送,管理系统,数据采集与同步,总之很多内容,需要前后端通吃,我不仅需要出方案,设计原型,设计数据库,出报价,沟通需求,还要写后端框架,数据接口与数据采集,开发前端(web端),移动端,管理所有项目,但是那时候招的人只会写移动端,实在是忙不过来,我就想能不能有个框架让不会写java的人能写接口,因为写移动端sqlite总是会用的,也就是说写sql不是难点……基于以上三点需求的积累,我利用业余时间写了一个后端框架,完成了这样的需求,刚开始是需要写三行代码完成一个接口,经过后面优化,现在不写代码也可以实现……  本框架涉及的知识点比较多,目前提供最基础版供大家学习和使用,后期逐步推出框架具体的教程和功能内容,下期我们讲如何在实际项目中通过部署版如何完成所需要的接口编写,欢迎大家订阅。

110,016

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧