Timus 1149. Sinus Dances 要求输出特定格式的字符串。
1149. Sinus Dances
Time Limit: 1.0 second
Memory Limit: 16 MB
Memory Limit: 16 MB
Let An = sin(1–sin(2+sin(3–sin(4+…sin(n))…)
Let Sn = (…(A1+n)A2+n–1)A3+…+2)An+1
For given N print SN
Let Sn = (…(A1+n)A2+n–1)A3+…+2)An+1
For given N print SN
Input
One integer N. 1 ≤ N ≤ 200
Output
Line containing SN
Sample
input | output |
---|---|
3 |
((sin(1)+3)sin(1–sin(2))+2)sin(1–sin(2+sin(3)))+1 |
Problem Author: Vladimir Gladkov
Problem Source: Ural Collegiate Programming Contest, April 2001, Perm, Test Round
Problem Source: Ural Collegiate Programming Contest, April 2001, Perm, Test Round
Tags: problem for beginners
C # 语言解答如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | using System; // http://acm.timus.ru/problem.aspx?space=1&num=1149 static class Timus { const int MAX = 200; static char [] msg = "sin()+-" .ToCharArray(); static char [] A = new char [MAX * 10]; static char [] S = new char [MAX * 5 * MAX]; static void Main() { Console.WriteLine(S, 0, MakeS( int .Parse(Console.ReadLine()))); } static int MakeS( int n) { var count = 0; while (count < n - 1) S[count++] = msg[3]; // '(' for ( int k, i = 1; i <= n; i++, count++) { var N = (n - i + 1).ToString().ToCharArray(); Array.Copy(A, 0, S, count, k = MakeA(i)); // Ai S[count += k] = msg[5]; // '+' Array.Copy(N, 0, S, ++count, N.Length); // n - i + 1 S[count += N.Length] = msg[4]; // ')' } return --count; // 去掉最后 ')' } static int MakeA( int n) { var count = 0; for ( var i = 1; i <= n; i++, count++) { var N = i.ToString().ToCharArray(); Array.Copy(msg, 0, A, count, 4); // "sin(" Array.Copy(N, 0, A, count += 4, N.Length); // i A[count += N.Length] = msg[(i % 2 == 0) ? 5 : 6]; // '+' or '-' } count--; // 覆盖最后 '+' or '-' for ( var i = 0; i < n; i++) A[count++] = msg[4]; // ')' return count; } } |
这道题目和解答都非常简单,就不解释了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述