efore I turned 18 and graduated from high school, I can’t recall ever enjoying a quiz. But somehow these days I find them hard to resist. Whether they’re silly and trivial or ones to test my IT knowledge, if I happen to come across one I’m not likely to go away before I’ve satisfied my curiosity.
Fortunately, I don’t think I’m the only one. In April, when DevX Senior Editor Glen Kunene sat down to interview collegiate programming champion David Arthur, we included the test question that Arthur solved to win his title. So many readers were intrigued by the challenge of seeing the Sun Microsystems and TopCoder Collegiate Challenge test questions that we decided it would be fun to bring you competitive programming test questions every month.
In our new partnership with TopCoder, the online Don King of heavyweight programming competition, we’ll regularly bring you a new set of intriguing, brain taxing problems. The problems are language agnostic (you can write your solutions in whatever language you prefer, but the official solutions are not inclusive of all languages), and there are three levels of complexity to choose from.
For those of you who have been living too long in the business grind, where problems present themselves in the form of management hassles, budget shortfalls, and insufficient testing time, the DevX TopCoder Challenge is a chance to remember why you liked programming in the first place: a chance to write code that unlocks a puzzle. It’s a purely academic exercise, and one that will help you figure out whether your programming skills have gotten sharper over time or whether you’ve gotten soft over the years.
For those of you who haven’t seen this month’s problem set yet, here’s a preview:
- Select two numbers between 1 and 9998, inclusive, which have the same exact group of non-zero digits, but are not the same number. For example, you could use 1234 and 4321, or 91 and 901.
- Subtract the smaller of the two numbers from the larger.
- Select one of the non-zero digits in the result, and remove that digit from the number.
- If the resulting number is less than 100, prepend zeros until the result has three digits. It turns out, that given the remaining three digits, you can always determine the digit removed.
You will be given a leftover string containing the three digits left over after the preceding algorithm completes. The challenge is to return the digit which was removed.
Still think you can compete with the sharpest young minds in programming? Take the DevX TopCoder Challenge and find out. Solutions to each month’s problem set will be posted the following month. Watch the HotLinks newsletter each Wednesday for an announcement of a new problem set and last months’ solutions. (If you aren’t a current HotLinks subscriber, you can sign up for any of our newsletters here.)
.NET Programming: 10 Minutes at a Time
We were very excited this week, as the advance copies of the official DevX book, .NET Programing: 10-Minute Solutions finally reached the office. While this is actually the second book in our partnership with book publisher Sybex?the first is .NET Development Security Solutions by John Paul Mueller?it is special for two reasons. First, it is the first book based on our popular “10-Minute Solution” article type. If you’re not familiar with our 10-Minute Solutions, they’re just as good as they sound: Learn something specific?a new technique or time-saving process?step-by-step, without feeling like you’re opening a can of worms. We don’t guarantee that you can learn them in less than 10-minutes, but we think it’s pretty close.
The second reason why this book is special is because it’s co-written by .NET veteran Mike Gunderloy and our own Executive Editor, A. Russell Jones. Some of the most popular .NET articles we’ve published are written by Russell, and each of the solutions in this book are equivalent gems. (To buy the book, visit Sybex.)
In Other News(groups)
Many of you probably know that DevX has had an active discussion community for many years. Later this month, we’ll be making some big changes to the discussion groups that will make them easier for all readers to use and enjoy. If you’re interested in getting a detailed description of these changes, please track the discussion on our talk.editors.devx group. I’ll post more information there as we get closer to launch. For now, here’s a quick summary of the changes:
- A new back-end management system allowing for more efficient moderation (read: less spam)
- A standard forum UI, including:
- Browsing discussions by thread
- Use of avatars and other graphics
- Support for embedded VB code or HTML in posts
- Email notifications of answered posts and “thread watching”
- At-a-glance view for unread vs. read posts
- Built-in search
- Integrated private messaging
- Dozens of customization options
The organization of the groups themselves will be changed a bit. Over the years the number of newsgroups in our community got a bit bloated so we’re consolidating down to 16 core groups. This means fewer groups to monitor, allowing users to browse all posts in their topic areas of interest more quickly.
We’re going to preserve all past newsgroup posts during this migration, meaning that you’ll still be able to read and search every one of DevX’s 91 current and archived newsgroups. We want to support your needs as current discussion participants as fully as possible while creating a highly functional, modern forum that will bring new users into the community. Again, please watch the talk.editors.devx group for more information on these newsgroup changes.