-
2014-04-28 19:42:26
转自:http://blog.jobbole.com/32748/
解答:
写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”
for x in range(101):print"fizz"[x%3*4::]+"buzz"[x%5*4::]or x
解析:print后面分为两部分,第一部分是”fizz”[x%3*4::]+”buzz”[x%5*4::],第二部分是x。两部分使用逻辑或连接。如果第一部分为空,则最终结果为第二部分的结果。如果第一部分非空,则最终结果为第一部分。第一部分由两个字符串连接而成,第一个字符串为”fizz”[x%3*4::],如果x是3的倍数,则x%3=0,那么”fizz”[x%3*4::]=”fizz”[0::]=”fizz”;如果x不是3的倍数,则x%3=1或2,那么”fizz”[x%3*4::]=”fizz”[4::]或”fizz”[8::]=”"。第二个字符串为”buzz”[x%5*4::],如果x是5的倍数,那么”buzz”[x%5*4::]=”buzz”[0::]=”buzz”;如果x不是5的倍数,那么x%5=1,2,3,4,那么”buzz”[x%5*4::]=”buzz”[4::]或”buzz”[8::]或”buzz”[12::]或”buzz”[16::]或”buzz”[20::]=”"。由此,如果x是3的倍数,第一部分为”fizz”;如果x是5的倍数,第一部分为”buzz”;如果x既是3的倍数,又是5的倍数,则第一部分为”buzzfizz”,如果既不是3的倍数,也不是5的倍数,则第一部分为”"。
更多相关内容 -
java线程:两个线程轮流打印数字,一直到100
2020-07-21 09:40:15两个线程轮流打印数字,一直到100 创建一个类,定义两个静态全局变量: static int num=1; static Integer in=new Integer(1); 让这个类继承Thread类 重写Thread类里面的run()方法 因为使用两个线程,为了防止数据...两个线程轮流打印数字,一直到100
创建一个类,定义两个静态全局变量:
static int num=1; static Integer in=new Integer(1);
让这个类继承Thread类
重写Thread类里面的run()方法
因为使用两个线程,为了防止数据重复,使用同步synchronized。@Override public void run() { while (true){ synchronized (in){ if (num>100){ System.exit(0); }else { System.out.println(num); num++; } } } }
创建main()方法
声明两个线程,分别调用start()方法public static void main(String[] args) { Demo1 d1=new Demo1(); d1.start(); Demo1 d2=new Demo1(); d2.start(); }
执行结果:
-
两个线程轮流打印数字,一直到100(多线程)
2020-07-20 15:05:47public class Work1{ static int num=101; static Work1 w=new Work1(); public static void main(String[] args) { //定义两个线程 Thread t1 = new Thread(new Thread1()); Thread t2 = new Thread(new ...方法1:
package cn.hp.thread.homewoke; //1. 两个线程轮流打印数字,一直到100 public class Work1 implements Runnable{ static int num=0; static Boolean flag=true; static Object o=new Object(); @Override public void run() { synchronized (o){ while (num<100){ num++; if (true){ flag=false; System.out.println("t1:"+num); }else { flag=true; System.out.println("t2:"+num); } }} } public static void main(String[] args) { Thread t1 = new Thread(new Work1()); t1.start(); Thread t2 = new Thread(new Work1()); t2.start(); } }
方法2:
public class Work1{ static int num=101; static Work1 w=new Work1(); public static void main(String[] args) { //定义两个线程 Thread t1 = new Thread(new Thread1()); Thread t2 = new Thread(new Thread2()); t1.start(); t2.start(); } public static class Thread1 implements Runnable{ @Override public void run() { while (true){ synchronized (w) {//synchronized() 括弧内部是 同步锁对象 if (num>1){ try { w.notify();//一次只能有一个线程拥有对象的监视器(就是绑定了一个监视器来判断是第几个线程) num--; System.out.println("t1:"+num); w.wait();//重新获得对监视器的所有权后继续执行 } catch (InterruptedException e) { e.printStackTrace(); } }else{ System.exit(1);//当num=1退出系统 } } } } } public static class Thread2 implements Runnable{ @Override public void run() { while (true){ synchronized (w) { if (num>1){ try { w.notify(); num--; System.out.println("t2:"+num); w.wait(); } catch (InterruptedException e) { e.printStackTrace(); } }else{ System.exit(1); } } } } } }
运行结果:
t1:100
t2:99
t1:98
t2:97
t1:96
t2:95
t1:94
t2:93
t1:92
t2:91
t1:90
t2:89
t1:88
t2:87
t1:86
t2:85
t1:84
t2:83
t1:82
t2:81
t1:80
t2:79
t1:78
t2:77
t1:76
t2:75
t1:74
t2:73
t1:72
t2:71
t1:70
t2:69
t1:68
t2:67
t1:66
t2:65
t1:64
t2:63
t1:62
t2:61
t1:60
t2:59
t1:58
t2:57
t1:56
t2:55
t1:54
t2:53
t1:52
t2:51
t1:50
t2:49
t1:48
t2:47
t1:46
t2:45
t1:44
t2:43
t1:42
t2:41
t1:40
t2:39
t1:38
t2:37
t1:36
t2:35
t1:34
t2:33
t1:32
t2:31
t1:30
t2:29
t1:28
t2:27
t1:26
t2:25
t1:24
t2:23
t1:22
t2:21
t1:20
t2:19
t1:18
t2:17
t1:16
t2:15
t1:14
t2:13
t1:12
t2:11
t1:10
t2:9
t1:8
t2:7
t1:6
t2:5
t1:4
t2:3
t1:2
t2:1Process finished with exit code 1
-
用C语言打印1到100的罗马数字
2018-10-23 09:48:52罗马字母对照表作为参考 10,40,50,90,100都是特殊处理的分界线 #include"... int num[7] = { 1, 5,10,50,100,500,1000 }; //罗马数字转换模板 char str[7] = { 'I','V','X','L','C','D','M' }...
罗马字母对照表作为参考
10,40,50,90,100都是特殊处理的分界线#include"stdafx.h" #include<stdio.h> int main() { int num[7] = { 1, 5,10,50,100,500,1000 }; //罗马数字转换模板 char str[7] = { 'I','V','X','L','C','D','M' }; char rom[10][5] = { "\0", "I","II","III","IV","V","VI","VII","VIII\0","IX"}; for (int j = 1;j <= 100;j++) { int i = j; while (i) { if (i < 10) { puts(rom[i]); i = 0; } if (i == 100) { puts("C"); i = 0; } if (i >= 90) { putchar('X'); putchar('C'); i -= 90; } if (i >= 50) { putchar(str[3]); i -= 50; } if (i >= 40) { putchar('L'); putchar('X'); i -= 40; } while (i >= 10) { putchar('X'); i -= 10; } } printf("\n"); } return 0; }
-
python第一个代码程序打印1到100整数
2020-11-21 03:10:30原博文2019-05-30 07:36 −def main(): #打印1到100的整数 i=1 while i -
JAVA——实现打印1到100之内的整数,但数字中包含9的要跳过
2019-11-10 12:40:06打印1到100之内的整数,但数字中包含9的要跳过 2.每行输出5个满足条件的数,之间用空格分隔 3.如:1 2 3 4 5 */ 代码如下: public class Test5 { public static void main(String[] args) { int count = ... -
编写程序,计算1到100中既能被3整除又能被7整除的所有数,并计算这些数的个数
2020-12-19 11:39:19展开全部能被32313133353236313431303231363533e59b9ee7ad94313334313663393整除,又可以被7整除的数是3和7的公倍数,因为3和7...在1到100内,共有4个,分别是21,42,63,84。利用程序计算如下:intcount=0;for(int... -
Java实现多线程轮流打印1-100的数字
2019-03-25 20:49:43首先打印1-100数字如果用一个单线程实现那么只要一个for循环即可,那么如果要用两个线程打印出来呢?(一个线程打印奇数,一个线程打印偶数)于是大家会想到可以通过加锁实现,但是这样的效率是不是不高?这里我用一... -
打印1-100之间所有3的倍数的数字
2020-10-29 15:00:13要输出1~100之间的3的倍数,那只需要从1~100循环100次即可,每次拿到i之后,用i % 3 == 0检测 //如果成立:i是3的倍数,输出 //如果不成立:i不是3的倍数 int main() { int i=0; for (i = 1; i <= 100; i++) ... -
从100到1000数字表图片
2021-06-12 18:28:21100至1000的数字顺序表101``````````````````````````````我需要数字1至1000阿拉伯数字1到100怎么写?阿拉伯数字从1写到100按顺序如下: 1 、3 、4 、5 、6 、7 、8、 9 、10 、11 、12 、13 、117 、18、19 、20、 ... -
C语言实现1到100简单猜数字游戏
2019-01-26 11:18:54这里我们约定 1表示玩游戏,0表示退出游戏。 那么怎么才能让系统随机生成一个数字呢?这里我们想到一个函数:rand()函数。 通过查阅MSDN软件我们可以看到rand()函数是一个返回值为int型的无参函数 ,而其返回的... -
用Java打印出1-100之间所有不是7的倍数和不包含7的数字,并求和
2021-07-24 11:01:22public class Main { public static void main(String[] args) { ... for (int i = 1; i <= 100; i++) { int b = i / 100;//求出其百位 int s = (i-b*100) / 10;//求出其十位 int g = (i-b*100-s*10);//求出其. -
今日代码:打印1 - 100之间所有3的倍数的数字
2020-03-19 13:49:51作业内容:将三个数按从大到小的顺序输出 编程软件:VS2013 ...//写一个代码打印1 - 100之间所有3的倍数的数字 int main() { int i = 1;//定义变量i for (i = 1; i <= 100; i++)//设置循环条件 { if ( i%3 ==... -
JAVA——实现用while循环实现打印1~100的和
2019-11-09 15:09:13题目:用while循环实现打印1~100的和 代码如下: int sum = 0; int i = 1; while(i<=100){ sum += i; //System.out.println(sum); i++; } System.out.println("1-100的和:"+sum); 输出... -
打印1到100之内的整数,但数字中包含9的要跳过
2018-02-16 14:37:17 -
python 数字整除_Python | 打印1到1000之间的所有数字,这些数字可以被7整除,并且不能被5整除...
2020-11-24 12:10:21python 数字整除Given a range (which is 1 to 1000) and we have print all numbers which are divisible...给定一个范围(1到1000),我们打印了所有在python中可被7整除而不能被5整除的数字。Example:例:Input:Giv... -
学习打印 1-100 的数字,遇到 7 的倍数或包含 7 的数字,不打印
2018-06-13 10:22:58public class Test20 { public static void main(String[] args) { // TODO Auto-generated method stub ... for(int i=1;i<=100;i++) { if(i %10==7 || i %7==0 || i/10 ==7) { con... -
Java基础----打印1到100之内的整数,但数字中包含9的要跳过
2019-01-21 13:53:431.打印1到100之内的整数,但数字中包含9的要跳过 2.每行输出5个满足条件的数,之间用空格分隔 3.如:1 2 3 4 5 public class Test { public static void main(String[] args) { int count = 0; for (int i ... -
两个线程,顺序打印从1-100的数字,一个线程打印奇数,一个线程打印偶数
2020-03-04 14:44:05两个线程一个打印偶数,一个打印奇数,两个线程要交叉执行,所以可以用一个长度为101的数组(第一个位置不用,便于打印的数字和位置保持一致)保存每个线程的执行状态,一个线程执行完毕后在对应位置设置成1,之前前... -
Python代码实现:用户输入1到100之间数字并判断,输入符合要求打印“输入正确“,不符合要求则打印“输入...
2020-08-10 19:28:58Python代码实现用户输入1到100之间数字并判断,输入符合要求打印"输入正确",不符合要求则打印"输入错误 print("要求用户输入1到100之间数字并判断,输入符合要求打印\"输入正确\",不符合要求则打印\"输入错误\"") ... -
写一个代码打印1-100之间所有3的倍数的数字。
2020-03-19 16:01:11#include <stdio.h> int main() { int i = 1; for (i = 1; i <= 100; i++) { if( i%3 ==0 ) printf("%d",i) } return 0; } -
如何在一个1到100的整数数组中找到丢失的数字?
2020-07-31 17:58:23如何在一个1到100的整数数组中找到丢失的数字? 当我拿到这个题目的时候我就想这个是找丢失的数字是一个还是多个数字的情况呢? 如果是一个的情况: 我们可以利用(100+1)*100/10 减去这个数组的所有集合的和,就... -
打印1到100之内的整数,但数字中包含9的要跳过(利用for循环和if判断)
2019-03-28 23:36:371.打印1到100之内的整数,但数字中包含9的要跳过 2.每行输出5个满足条件的数,之间用空格分隔 3.如:1 2 3 4 5 public class ZhengShu{ public static void main(String[] args){ int count = 0; for... -
C语言打印100以内的数字序列,逢七必过。
2021-11-17 08:35:441、这是1-100内包含七和是七的倍数的都用过显示 #include<stdio.h> int main(){ for( int i = 1; i <= 100; i++){ if( i % 7 == 0 || i % 10 == 7 || i / 10 == 7){ printf(" 过 "); continue; ... -
敲桌子游戏 案例描述:从1开始数到数字100, 如果数字个位含有7, 或者数字十位含有7,或者该数字是7的倍数...
2020-07-21 11:41:16案例描述:从1开始数到数字100, 如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,我们打印敲桌子,其余数字直接打印输出。 例程如下: #include <iostream> using namespace std; int main()... -
简单的猜数字小游戏(1 ~ 100)
2022-01-24 16:46:22简单的实现猜 1 ~ 100 数字的小游戏 -
案例:将1到100之间所有能被3整除的数字添加到新数组里
2019-09-24 03:03:42//需求:请将1到100之间所有能被3整除的数字添加到新数组arr中,并打印到控制台 var arr=[]//声明一个空数组 for(var i=1;i<=100;i++){//遍历1-100 if(i%3==0){//找出能被3整除的数字 arr[arr.length] = i;//... -
while循环打印1-100的整数
2020-07-19 17:59:56//while循环打印1-100的整数 public class Chart0403 { public static void main(String[] args) { int i = 1; while (i <= 100) { System.out.print(i + " "); i++; } } } -
python实现用户随意输入一个1-100之间的数字。打印1-1000中,所有可以被这个数字整除的数字,并打印序号。...
2020-09-23 20:51:13运用python实现用户随意输入一个1-100之间的数字。打印1-1000中, 所有可以被这个数字整除的数字,并打印序号。序号从1开始,依次加1. 2.刚开始小关写了20行代码实现了,后来发现略显复杂,经过不断删减修改, ... -
分析以下需求,并用代码实现:(1)打印1到100之内的整数,但数字中包含9的要跳过 (2)每行输出5个满足条件的...
2020-10-12 10:39:50(1)打印1到100之内的整数,但数字中包含9的要跳过 (2)每行输出5个满足条件的数,之间用空格分隔 package java作业小练习; public class lianxi { public static void main(String[] args) { // TODO Auto-...