作业二 简单数学问题

记录点滴。

  1 /*
  2 2015.6    HT
  3 ACM Work_2
  4
  5 */
  6
  7 //#include <stdio.h>
  8 #include<iostream>
  9 using namespace std;
 10
 11 /*
 12 Sum Problem
 13 1+2+...+N
 14 */
 15 //int main()
 16 //{
 17 //    int n, sum = 0;
 18 //    while((scanf("%d", &n) && (n>0)))
 19 //    {
 20 //        sum = (1 + n) * n / 2;
 21 //        if (sum > 2147483648)
 22 //        {
 23 //            printf("sum too large !");
 24 //            break;
 25 //        }
 26 //        printf("%d\n\n", sum);
 27 //        sum = 0;
 28 //    }
 29 //    return 0;
 30 //}
 31
 32
 33 /*
 34 Elevator
 35 6 seconds to move the elevator up one floor
 36 4 seconds to move down one floor
 37 stay for 5 seconds at each stop
 38 */
 39 //int main()
 40 //{
 41 //    int i, n, a[100], sum = 0;
 42 //    for (i = 1; i < 100; i++)
 43 //        a[i] = 0;
 44 //    while((scanf("%d", &n) && n != 0 && n < 100))
 45 //    {
 46 //        a[0] = 0;
 47 //        for (i = 1; i <= n; i++)
 48 //            scanf("%d", &a[i]);
 49 //        for (i = 1; i <= n; i++)
 50 //        {
 51 //            if(a[i]>a[i-1])
 52 //                sum += (a[i] - a[i-1]) * 6 + 5;
 53 //            else
 54 //                sum += (a[i-1] - a[i]) * 4 + 5;
 55 //        }
 56 //        printf("%d\n", sum);
 57 //        sum = 0;
 58 //    }
 59 //    return 0;
 60 //}
 61
 62
 63 /*
 64 Least Common Multiple 最小公倍数
 65 */
 66 //int main()
 67 //{//LCM
 68 //    int i, n, num, count = 1;
 69 //    int  ch, p1, r, q1, p, q;
 70 //    scanf("%d", &n);
 71 //    while (n--)
 72 //    {
 73 //        i = q = p = r = 0;
 74 //        count = 1;
 75 //        scanf("%d", &num);
 76 //        while (num--)
 77 //        {
 78 //            scanf("%d", &ch);
 79 //            if (count++ == 1)
 80 //            {
 81 //                p = p1 = ch;
 82 //                continue;
 83 //            }
 84 //            else
 85 //                q = q1 = ch;
 86 //            // need p > q
 87 //            if (q > p)
 88 //            {
 89 //                r = q;
 90 //                q = p;
 91 //                p = r;
 92 //            }
 93 //            while (p%q != 0)
 94 //            {
 95 //                r = q;
 96 //                q = p%q;
 97 //                p = r;
 98 //
 99 //            }
100 //            p = p1 = p1 / q*q1;
101 //        }
102 //        printf("%d\n", p);
103 //    }
104 //    return 0;
105 //}
106
107
108 /*
109 Number Sequence
110 f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7
111 */
112 //int main()
113 //{
114 //    // 结果最多只有7 * 7 = 49种可能
115 //    int a, b, n, t1, t2, t3;
116 //    while (1)
117 //    {
118 //        cin >> a >> b >> n;
119 //        if (!(a || b || n)) break;
120 //        n %= 49;
121 //        t1 = t2 = t3 = 1;
122 //        for (int i = 3; i <= n; ++i)
123 //        {
124 //            t3 = (a*t2 + b*t1) % 7;
125 //            t1 = t2;
126 //            t2 = t3;
127 //        }
128 //        cout << t3 << endl;
129 //    }
130 //    return 0;
131 //}
132
133
134 /*
135 Fibonacci Again
136 F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2)
137 "yes" if 3 divide evenly into F(n)
138 "no" if not
139 */
140 //int main()
141 //{
142 //    int n, i;
143 //    __int64 ans, a, b;
144 //    while (cin >> n)
145 //    {
146 //        a = 7;
147 //        b = 11;
148 //        if (n == 1 || n == 0)
149 //            cout << "no\n";
150 //        else
151 //        {
152 //            ans = 0;
153 //            for (i = 2; i <= n; i++)
154 //            {
155 //                ans = (a + b) % 3;
156 //                a = b;
157 //                b = ans;
158 //            }
159 //            if (!ans)
160 //                cout << "yes\n";
161 //            else
162 //                cout << "no\n";
163 //        }
164 //    }
165 //    return 0;
166 //}
167
168
169 /*
170 吃糖果
171 不喜欢将一样的糖果放在一起吃
172 是否存在一种吃糖果的顺序使得他能把所有糖果都吃完
173 2
174 3
175 4 1 1
176 5
177 5 4 3 2 1
178
179 No
180 Yes
181 */
182 //int main()
183 //{
184 //    // 某种糖果的最大数量max, 剩余的糖果总数要比max-1多或等于
185 //    int sum, max;
186 //    int i, T, n, m;
187 //
188 //    scanf("%d", &T);
189 //    while (T--)
190 //    {
191 //        scanf("%d", &n);
192 //        sum = 0;
193 //        max = -1;
194 //        for (i = 0; i<n; i++)
195 //        {
196 //            scanf("%d", &m);
197 //            sum += m;
198 //            if (max<m)
199 //                max = m;
200 //        }
201 //        if (sum - max + 1 >= max)
202 //            printf("Yes\n");
203 //        else
204 //            printf("No\n");
205 //    }
206 //    return 0;
207 //}
208
209
210 /*
211 人见人爱A^B
212 求A^B的最后三位数表示的整数
213 */
214 //int power(int a, int n)
215 //{
216 //    // 快速幂非递归实现
217 //    int ans = 1;
218 //    while (n)
219 //    {
220 //        if (n & 1)
221 //            ans *= a;
222 //        a *= a;
223 //        n = n >> 1;
224 //    }
225 //    return ans;
226 //}
227 //int main()
228 //{
229 //    // 较大数会溢出
230 //    int a, b;
231 //    while (scanf("%d%d", &a, &b) != EOF && a && b)
232 //    {
233 //        printf("%d\n", power(a, b) % 1000);
234 //    }
235 //    return 0;
236 //}
237
238
239 /*
240 Rightmost Digit
241 output the most right digit of N^N
242 3 * 3 * 3 = 27, so the rightmost digit is 7
243 */
244 //int power(int a, int n)
245 //{
246 //    // 快速幂非递归实现
247 //    int ans = 1;
248 //    while (n)
249 //    {
250 //        if (n & 1)
251 //            ans *= a;
252 //        a *= a;
253 //        n = n >> 1;
254 //    }
255 //    return ans;
256 //}
257 //int main()
258 //{
259 //    int a, n;
260 //    scanf("%d", &n);
261 //    while (n--)
262 //    {
263 //        scanf("%d", &a);
264 //        printf("%d\n", power(a, a) % 10);
265 //    }
266 //    return 0;
267 //}
268
269
270 /*
271 最小公倍数
272 */
273 //int gcd(int a, int b)
274 //{
275 //    //求最大公约数函数
276 //    int r;
277 //    while (b)
278 //    {
279 //        r = a%b;
280 //        a = b;
281 //        b = r;
282 //    }
283 //    return a;
284 //}
285 //int main()
286 //{
287 //    int a, b, g;
288 //    while (scanf("%d%d", &a, &b) != EOF)
289 //    {
290 //        if (a > b)
291 //            g = gcd(a, b);
292 //        else
293 //            g = gcd(b, a);
294 //        g = (a*b) / g;
295 //        printf("%d\n", g);
296 //    }
297 //    return 0;
298 //}
299
300
301 /*
302 求数列的和
303 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和
304 */
305 //int main()
306 //{
307 //    int n, m, i;
308 //    double sum, a;
309 //    while (scanf("%d%d", &n, &m) != EOF)
310 //    {
311 //        sum = 0;
312 //        a = (double)n;
313 //        for (i = 0; i<m; i++)
314 //        {
315 //            sum += a;
316 //            a = sqrt(a);
317 //        }
318 //        printf("%.2lf\n", sum);
319 //    }
320 //    return 0;
321 //}
322
323
324 /*
325 多项式求和
326 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...
327 */
328 int main()
329 {
330     int n, m, i;
331     double a[1000], j;
332     a[1] = 1;
333     for (i = 2; i<1000; i++)
334     {
335         j = 1.0 / i;
336         if (i % 2 == 0)
337             a[i] = a[i - 1] - j;
338         else
339             a[i] = a[i - 1] + j;
340     }
341     scanf("%d", &n);
342     while (n--)
343     {
344         scanf("%d", &m);
345         printf("%.2f\n", a[m]);
346     }
347     return 0;
348 }
时间: 2024-10-10 15:35:51

作业二 简单数学问题的相关文章

第二次作业: 二维数组

高级语言程序设计报告   实习题目 第二次作业: 二维数组 P228计算机双学位第8章实验题:学生成绩管理系统 l 在上次作业的基础上,改为每学生2门课,用二维数组编程实现相应功能,相应功能所有涉及分数的均需可以处理每门课程分数及每个学生课程总分. l 涉及到排序的,均需提供冒泡及选择两种排序方法,可增加菜单项. l 功能5中按学号查询学生排名及成绩,要求用折半法,为此你的学生数据可以多一点. l 数组中可以事先有数据(省却每次输入数据浪费时间),为此输入数据菜单可以改造为增加数据菜单. l 在

機器學習基石(Machine Learning Foundations) 机器学习基石 作业二 课后习题解答

大家好,我是Mac Jiang,首先祝贺大家清明节快乐!作为一名苦逼的程序员,博主只能窝在实验室玩玩游戏,顺便趁着大早上没人发一篇微博.不过还是祝各位出行的兄弟玩的开心! 今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业二的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博

【作业二】林轩田机器学习基石

作业一被bubuko抓取了,要是能注明转载就更好了() 作业二关注的题目是需要coding的Q16~Q20 Q16理解了一段时间,题目阐述的不够详细.理解了题意之后,发现其实很简单. 理解问题的关键是题目中给的's'是啥意思: (1)如果s=1,则意味着x>theta y预测为1,x<theta y预测为-1: (2)如果s=2,则以为着x<theta y预测为1,x<theta y预测为1 想明白这个事情之后,直接分theta大于0,小于0讨论,s=1 or s=-1把几种情况分

day1作业二:多级菜单

    作业二:多级菜单 1.三级菜单 2.可以次选择进入各子菜单 3.所需新知识点:列表.字典 4.打印b回到上一层 5.打印q退出循环 流程图如下: readme: (1)存储三级菜单的字典;设置标识符active用来循环: (2)生成存储省市的字典,d1 = {1: '河南', 2: '广东', 3: '湖南'}; (3)用户输入查询编码,如果用户输入q退出循环:如果用户输入小于1或大于3则重新输入:输入编码在range(1,4)中,则输出省,并继续循环; (4)生成存储市的字典d2 =

hdu 2200 Eddy&#39;s AC难题(简单数学。。)

题意: N个人,每个人AC的题数都不一样. Eddy想从中选出一部分人(或者全部)分成两组.必须满足第一组中的最小AC数大于第二组中的最大AC数. 问共有多少种不同的选择方案. 思路: 简单数学.. 代码: ll C(int n,int x){ ll ans=1; rep(i,1,x){ ans = ans*(n+1-i)/i; } return ans; } int main(){ int n; while(cin>>n){ ll ans = 0; rep(i,2,n){ ans += (C

Cocos2d-x 让精灵随手指移动起来二(简单实现)

void HelloWorld::ccTouchMoved(cocos2d::CCTouch *touch, cocos2d::CCEvent *event) { CCSize winSize = CCDirector::sharedDirector()->getVisibleSize(); if (m_ship) { CCPoint pos = touch->getDelta();//获取触点当前位置与较早前的位置的差距 CCPoint currentPos = m_ship->get

day1作业二:多级菜单操作(函数实现)

作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 本示例的三级菜单是一个yaml文件格式,格式如下: 香港: 香港 澳门: 澳门 台湾: 台湾 钓鱼岛: 钓鱼岛 北京市: - 市辖区 - 东城区 - 西城区 - 崇文区 - 宣武区 - 朝阳区 河北省: - 石家庄市: - 长安区 - 桥东区 - 桥西区 - 新华区 - 唐山市: - 路南区 - 路北区 - 古冶区 - 开平区 - 秦皇岛市: -

机器学习 1 linear regression 作业(二)

机器学习 1 linear regression 作业(二) 这个线性回归的作业需要上传到https://inclass.kaggle.com/c/ml2016-pm2-5-prediction 上面,这是一个kaggle比赛的网站.第一次接触听说这个东西,恰好在京东上有一本刚出来的关于这个的书<Python机器学习及实践:从零开始通往Kaggle竞赛之路>.把我自己写的代码运行保存的结果提交上去后发现,损失函数值很大,baseline是6,而我的却是8,于是很不心甘,尝试了其他方法无果后,准

家庭作业二

家庭作业二(Chapter 3) P206 3.60 考虑下面的源代码,这里R,S,T都是用#define声明的常数 int A[R][S][T]; int store_ele(int i,int j,int k,int *dest) { *dest=A[i][j][k]; return sizeof(A); } 编译这个程序,GCC产生下面的汇编代码:(i at %ebp+8,j at %ebp+12,k at %ebp+16,dest at %ebp+20) movl 8(%ebp),%ec