Some Brain-Teaser in WinDev, Can you Solve them?
2004-10-31 20:45
309 查看
从Frankred的博客上看到他post的几个出现在WinDev上的Brain-teaser,感觉很有意思,似乎有做文字游戏的味道。在WinDev上回答正确这四题中的两题,可是有机会获得ViewSonic V37 Pocket PCs大奖。事实上,奖品最后落到了两个幸运儿身上。那么请你来看看,想一想假如当时你也在WinDev现场,是否有机会获得这件奖品?
brain-teaser #1:
以一行代码替换TBD(待定)注释,使程序显示"Win-Dev"字符串结果。要求:不能修改或增删已有代码;只能是一行代码替换TBD注释行;不能使用Console类。
class App {
static void Main() {
// TBD
}
}
sealed class Internal {
sealed class Private {
static void PrintMessage( string s1, string s2 ) {
System.Console.WriteLine(s1 + "-" + s2);
}
}
}
后三题都是写出运行结果。可以自己去运行一下,不过最好在运行之前,先分析一下是否能得出正确结果。
brain-teaser #2:
class C
{
const string s = @"
class C
{{
const string s = @{1}{0}{1};
static void Main()
{{
System.Console.WriteLine(s,s,'\u0022');
}}
}}";
static void Main()
{
System.Console.WriteLine(s,s,'\u0022');
}
}
:怎么样,有文字游戏的味道吧:-)
brain-teaser #3:
运行在Everett(?不知道是什么,也许是VS的一个版本?)下,结果是什么?
运行在WhidBey下,结果又是什么?
using System;
using System.Runtime.InteropServices;
public class Program
{
static void Main()
{
SomeType s;
unsafe
{
Console.WriteLine("{0} {1} {2} {3} {4}",
(byte*)&s.Field1 - (byte*)&s,
(byte*)&s.Field2 - (byte*)&s,
(byte*)&s.Field3 - (byte*)&s,
sizeof(SomeType),
Marshal.SizeOf(typeof(SomeType)));
}
}
}
struct SomeType
{
public char Field1;
public int Field2;
public char Field3;
}
brain-teaser #4:
using System;
using System.Threading;
class Class1
{
static void Main()
{
Console.WriteLine("A");
new Class2();
GC.Collect();
new Class1();
GC.Collect();
Console.WriteLine("B");
}
~Class1()
{
Console.WriteLine("C");
Class2.Are.Set();
Console.WriteLine("D");
}
}
class Class2
{
public static ManualResetEvent Are = new ManualResetEvent(false);
~Class2()
{
Console.WriteLine("E");
Class2.Are.WaitOne();
Console.WriteLine("F");
}
}
我想,brain-teaser #1的答案明天公布更好些吧。当然Frankred自然是公布了答案的,否则我是解不出正确答案的:-)
brain-teaser #1:
以一行代码替换TBD(待定)注释,使程序显示"Win-Dev"字符串结果。要求:不能修改或增删已有代码;只能是一行代码替换TBD注释行;不能使用Console类。
class App {
static void Main() {
// TBD
}
}
sealed class Internal {
sealed class Private {
static void PrintMessage( string s1, string s2 ) {
System.Console.WriteLine(s1 + "-" + s2);
}
}
}
后三题都是写出运行结果。可以自己去运行一下,不过最好在运行之前,先分析一下是否能得出正确结果。
brain-teaser #2:
class C
{
const string s = @"
class C
{{
const string s = @{1}{0}{1};
static void Main()
{{
System.Console.WriteLine(s,s,'\u0022');
}}
}}";
static void Main()
{
System.Console.WriteLine(s,s,'\u0022');
}
}
:怎么样,有文字游戏的味道吧:-)
brain-teaser #3:
运行在Everett(?不知道是什么,也许是VS的一个版本?)下,结果是什么?
运行在WhidBey下,结果又是什么?
using System;
using System.Runtime.InteropServices;
public class Program
{
static void Main()
{
SomeType s;
unsafe
{
Console.WriteLine("{0} {1} {2} {3} {4}",
(byte*)&s.Field1 - (byte*)&s,
(byte*)&s.Field2 - (byte*)&s,
(byte*)&s.Field3 - (byte*)&s,
sizeof(SomeType),
Marshal.SizeOf(typeof(SomeType)));
}
}
}
struct SomeType
{
public char Field1;
public int Field2;
public char Field3;
}
brain-teaser #4:
using System;
using System.Threading;
class Class1
{
static void Main()
{
Console.WriteLine("A");
new Class2();
GC.Collect();
new Class1();
GC.Collect();
Console.WriteLine("B");
}
~Class1()
{
Console.WriteLine("C");
Class2.Are.Set();
Console.WriteLine("D");
}
}
class Class2
{
public static ManualResetEvent Are = new ManualResetEvent(false);
~Class2()
{
Console.WriteLine("E");
Class2.Are.WaitOne();
Console.WriteLine("F");
}
}
我想,brain-teaser #1的答案明天公布更好些吧。当然Frankred自然是公布了答案的,否则我是解不出正确答案的:-)
相关文章推荐
- Solution to “Commit your changes or stash them before you can merge” in Git
- rails reverse words you can't use them in as your column or tablename
- Can you solve this equation?(简单二分)
- (HDU - 2199)Can you solve this equation?
- A - Can you solve this equation?
- HDU-1086-You can Solve a Geometry Problem too
- hdu 2199 Can you solve this equation?
- mysql中You can't specify target table for update in FROM clause错误
- You can Solve a Geometry Problem too (hdu1086)几何,判断两线段相交
- [Err] 1093 - You can't specify target table 's' for update in FROM clause
- hdoj 2199 Can you solve this equation?【浮点型数据二分】
- Can you solve this equation?
- accept()ing when you can’t问题分析
- hdu2199 Can you solve this equation?(二分)
- HDU 2199 Can you solve this equation?
- 杭电hdu 1086 You can Solve a Geometry Problem too 线段相交
- HDU 2199-Can you solve this equation?
- [ACM] hdu You can Solve a Geometry Problem too (线段是否相交及交点个数)
- how to solve the problem when you have chmod the directory to 777 but the apache still can not write file