找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14636|回复: 9

批处理脚本实现C语言趣味编程百例005:求最大数

[复制链接]
发表于 2012-3-3 15:35:15 | 显示全部楼层 |阅读模式
本帖最后由 jinzeyu 于 2012-3-3 21:11 编辑

这道题很简单 要求用批处理实现
加分:一个技术分
问555555的约数中最大的三位数是多少?
*问题分析与算法设计
根据约数的定义,对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。因此,最简单的方法是用到2之间N-1的所有数去除N,即可求出N的全部约数。本题只要求取约数中最大的三位数,则其取值范围可限制在100到999之间
*程序说明与注释
  1. #include<stdio.h>
  2. int main()
  3. {
  4. long i;
  5. int j;
  6. printf("Please input number:");
  7. scanf("%ld",&i);
  8. for(j=999;j>=100;j--)
  9. if(i%j==0)
  10. {
  11. printf("The max factor with 3 digits in %ld is:%d,\n",i,j);
  12. break;
  13. }
  14. }
复制代码
*运行结果
输入:555555
输出:The max factor with 3 digits in 555555 is:777
 楼主| 发表于 2012-3-3 15:46:08 | 显示全部楼层
本帖最后由 jinzeyu 于 2012-3-3 16:10 编辑

我的代码:
代码内容设置的颜色为white
显示方法 1:按住鼠标左键,框住代码即可。
显示方法 2:Ctrl + A
  1. @echo off&setlocal enabledelayedexpansion&for /l %%i in (999 -1 100) do (set/ai=555555%%%%i&if "!i!"=="0" (echo The max factor with 3 digits in 555555 is:%%i&pause>nul&exit))
复制代码
发表于 2012-3-3 17:30:22 | 显示全部楼层
你的C语言代码有个地方错了,j--
发表于 2012-3-3 18:23:04 | 显示全部楼层
没有缩进的代码看的真蛋疼
发表于 2012-3-3 20:49:55 | 显示全部楼层
怎么两个题目完全不同啊?
http://www.bathome.net/thread-15713-1-1.html
 楼主| 发表于 2012-3-3 20:55:12 | 显示全部楼层
回复 5# find


    这个当然不同了......
发表于 2012-3-3 21:05:17 | 显示全部楼层
回复 6# jinzeyu


刚才明明是两个004
 楼主| 发表于 2012-3-3 21:09:11 | 显示全部楼层
回复 3# Seder


    额 确实是j--不是j- 已在VC++ 2010 上测试
 楼主| 发表于 2012-3-3 21:24:42 | 显示全部楼层
回复 7# find


   
 楼主| 发表于 2012-3-4 09:45:34 | 显示全部楼层
为什么表情发不了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:47 , Processed in 0.018484 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表