|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 juhugufudu 于 2019-10-2 18:53 编辑
首先,我们先来热一下身。
题目:
(1)判断任意给定的正整数n(n>1)是否是质数
(2)对于给定的自然数n,在屏幕上输出仅由'#'构成的n行n列的正方形矩阵
现在,言归正传。我们要开始FOR语句与数学的结合了
先看题
将100元钱换成50元,20元和10元的小钞票,共有多少种方案,并输出每一条方案
转换成数学的话就是
这个问题就是让你列举出不定方程的所有解!
算法就是:
枚举a,枚举b,枚举c
代码就是..
- <font size="4">#include<stdio.h>
- main()
- {
- int count = 0;
- int a,b,c;
- printf("a b c\n");
- for(a = 0;a <= 2;a++)
- for(b = 0;b <= 5;b++)
- for(c = 0;c <= 10;c++)
- if(50*a+20*b+10*c == 100){
- count+=1;
- printf("%d %d %d\n",a,b,c);
- }
- }
- </font>
复制代码 但我们可以优化
一旦a,b求出来了,c就不必枚举了。
代码如下:
- #include<stdio.h>
- main()
- {
- int count = 0;
- int a,b,c;
- printf("a b c\n");
- for(a = 0;a <= 2;a++)
- for(b = 0;b <= 5;b++)
- {
- c = (100-50*a-20*b)/10;
- if(c>=0){
- count+=1;
- printf("%d %d %d\n",a,b,c);
- }
- }
-
- }
复制代码 下一个问题:
a,b,c,d正在预测名次
a说:“我第三,c第一”
b说:”我第一,d第四“
c说:”我第三,d第二“
d说:"一切皆有可能"
已知每人都对了一半,请给出正确的排名顺序
大家可能已经崩溃了 为什莫是奥数题!!!
所以这个题作为一个作业布置了
提示一下:
(a==3)+(c==1)=1
自行体会 Thank you for your see()
|
|