百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

如何用一个循环语句输出九九乘法表?

off999 2024-11-04 13:13 57 浏览 0 评论

极限挑战:用一条循环语句正确输出99表!

不能用 if switch 之类的控制语句

只是想知道怎么只用一个 for 实现的


展示一下 C++ 17 的 fold expression:

#include <utility>#include <iostream>template<int... I>void OutputImpl(std::integer_sequence<int, I...>, int x){

作者:苦逼小青年

链接:https://www.zhihu.com/question/55768263/answer/146636640

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

其实另外一种思路是,给乘法表的每一个cell编号从0到45,然后构造一个函数f(n)使得这个函数返回这个编号的cell应该在哪一行那一列。

注意到前N行一共有

个cell,并且这个函数是在N > 0 的时候是单调的

所以

于是,可以得到如下解法:

Python

import math

C

#include <stdio.h>#include <math.h>int main(){

Scala

(0 to 44) map (x => {

===

再补充一个混乱版的,既然大家都想写得短

#include <stdio.h>#include <math.h>int r,c;int main(int i){

作者:苦逼小青年

链接:https://www.zhihu.com/question/55768263/answer/146636640

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

再更,既然有人质疑不能用SQRT,那么只好祭出大杀器Fast inverse square root

float Q_rsqrt( float number ){

但是这段代码是算1/sqrt(x)的,怎么办?其实前面几行是估算1/sqrt(x)的值,这一段可以用,然后我们有牛顿迭代法

其中

float Q_rsqrt( float number )

把这段代码压缩成紧凑的形式

union { float f; long l; } v;

然后替换sqrt函数

#include <stdio.h>union { float f; long l; } v;int r,c; void s(float t){

最后增加一个终极蛋疼版

#include <stdio.h>union { float f; long l; } v;int r,c; int main(int i) {

或者模仿IOCCC来一个

union{float f;long l;}v;int r,c;int main(int i){return v.f=8*i-7,v.l=0x5f3759df-v.l/2,r=0.5+0.25/v.f+(2*i-1.75)*v.f,c=i-(r-1)*r/2,printf("%d*%d=%d""%c",c,r,c*r,32-22*(r==c)),i-45&&main(i+1);}

作者:Falccm

链接:https://www.zhihu.com/question/55768263/answer/146622326

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

MATLAB:

>> for k = 1 : 9, disp((1 : k) * k), end

如果不必须有循环可以用 arrayfun:

arrayfun(@(k) disp((1 : k) * k), 1 : 9)

--------更新--------

如果需要带表达式,也是类似的:

>> for k = 1 : 9, disp(join(string(k) + '*' + (1 : k) + '=' + (1 : k) * k)), end1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=498*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=649*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

同样可以改写为:

arrayfun(@(k) disp(join(string(k) + '*' + (1 : k) + '=' + (1 : k) * k)), 1 : 9)

相关推荐

阿里云国际站ECS:阿里云ECS如何提高网站的访问速度?

TG:@yunlaoda360引言:速度即体验,速度即业务在当今数字化的世界中,网站的访问速度已成为决定用户体验、用户留存乃至业务转化率的关键因素。页面加载每延迟一秒,都可能导致用户流失和收入损失。对...

高流量大并发Linux TCP性能调优_linux 高并发网络编程

其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。本文所面对的情况为...

性能测试100集(12)性能指标资源使用率

在性能测试中,资源使用率是评估系统硬件效率的关键指标,主要包括以下四类:#性能测试##性能压测策略##软件测试#1.CPU使用率定义:CPU处理任务的时间占比,计算公式为1-空闲时间/总...

Linux 服务器常见的性能调优_linux高性能服务端编程

一、Linux服务器性能调优第一步——先搞懂“看什么”很多人刚接触Linux性能调优时,总想着直接改配置,其实第一步该是“看清楚问题”。就像医生看病要先听诊,调优前得先知道服务器“哪里...

Nginx性能优化实战:手把手教你提升10倍性能!

关注△mikechen△,十余年BAT架构经验倾囊相授!Nginx是大型架构而核心,下面我重点详解Nginx性能@mikechen文章来源:mikechen.cc1.worker_processe...

高并发场景下,Spring Cloud Gateway如何抗住百万QPS?

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。高并发场景下网关作为流量的入口非常重要,下面我重点详解SpringCloudGateway如何抗住百万性能@m...

Kubernetes 高并发处理实战(可落地案例 + 源码)

目标场景:对外提供HTTPAPI的微服务在短时间内收到大量请求(例如每秒数千至数万RPS),要求系统可弹性扩容、限流降级、缓存减压、稳定运行并能自动恢复。总体思路(多层防护):边缘层:云LB...

高并发场景下,Nginx如何扛住千万级请求?

Nginx是大型架构的必备中间件,下面我重点详解Nginx如何实现高并发@mikechen文章来源:mikechen.cc事件驱动模型Nginx采用事件驱动模型,这是Nginx高并发性能的基石。传统...

Spring Boot+Vue全栈开发实战,中文版高清PDF资源

SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...

Docker-基础操作_docker基础实战教程二

一、镜像1、从仓库获取镜像搜索镜像:dockersearchimage_name搜索结果过滤:是否官方:dockersearch--filter="is-offical=true...

你有空吗?跟我一起搭个服务器好不好?

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手...

部署你自己的 SaaS_saas如何部署

部署你自己的VPNOpenVPN——功能齐全的开源VPN解决方案。(DigitalOcean教程)dockovpn.io—无状态OpenVPNdockerized服务器,不需要持久存储。...

Docker Compose_dockercompose安装

DockerCompose概述DockerCompose是一个用来定义和管理多容器应用的工具,通过一个docker-compose.yml文件,用YAML格式描述服务、网络、卷等内容,...

京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统

前言:Java的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论...

Kubernetes (k8s) 入门学习指南_k8s kubeproxy

Kubernetes(k8s)入门学习指南一、什么是Kubernetes?为什么需要它?Kubernetes(k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它...

取消回复欢迎 发表评论: