In this article I describe how to determine if a number is a Perfect Number. But first let us understand what a Perfect Number is.
Perfect Number
A number is called a Perfect Number when the sum of its perfect divisors (except itself) are equal to a given number. In other words, a Perfect Number is a number that equals the sum of its factors.
Example: Number 6 = 1+2+3.
Use the following procedure to create a Perfect Number app in Windows Store.
Step 1
First of all you have to create a New Window Store Application.
- Open Visual Studio 2012
- "File" -> "New" -> "Project..."
- Choose Template: "Visual C#" -> "Window Store app"
- "Blank App (XAML)", then rename the application
Step 2
Write XAML code for "Mainpage.Xaml" that is available in Solution Explorer; see:
<Page
    x:Class="armstrong_app.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:armstrong_app"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Grid Background="Blue">
        <Grid.RowDefinitions>
            <RowDefinition Height="38*"/>
            <RowDefinition Height="23*"/>
            <RowDefinition Height="31*"/>
            <RowDefinition Height="32*"/>
            <RowDefinition Height="35*"/>
            <RowDefinition Height="609*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="161*"/>
            <ColumnDefinition Width="303*"/>
            <ColumnDefinition Width="902*"/>
        </Grid.ColumnDefinitions>
        <TextBlock Text="Check Number is Perfect Number or not" FontFamily="Arial" FontSize="14" FontWeight="ExtraBold" Foreground="Red" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2"></TextBlock>
        <TextBlock Text="Enter Number:" FontFamily="Arial" FontSize="15" FontWeight="ExtraBold" Foreground="Red" Grid.Column="1" Grid.Row="2"></TextBlock>
        <TextBox x:Name="Textbox1" Width="150" Height="32" VerticalAlignment="Top" Grid.Column="2" Grid.Row="2" HorizontalAlignment="Left" Grid.RowSpan="2" />
        <TextBlock Text="Number is:" FontFamily="Arial" FontSize="15" FontWeight="ExtraBold" Foreground="Red" Grid.Column="1" Grid.Row="3"></TextBlock>
        <TextBlock x:Name="text2" FontFamily="Arial" FontSize="15" FontWeight="ExtraBold" Foreground="Red" Grid.Column="2" Grid.Row="3"></TextBlock>
        <Button x:Name="button1" Content="Click" Grid.Row="3" Grid.Column="2" Background="Yellow" Foreground="Red" Width="103" Height="34" FontSize="15" Margin="0,31,0,2" Grid.RowSpan="2" Click="button1_Click"/>
    </Grid>
</Page>
 
Step 3
Now write C# code for the button within "Mainpage.Xaml.cs"; see:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
namespace Perfect_app
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
        }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            int num = Convert.ToInt32(Textbox1.Text);
            int sum = 0;
            for (int i = 1; i < num; i++)
            {
                if (num % i == 0)
                {
                    sum = sum + i;
                }
            }
            if (sum == num)
            {
                text2.Text = "Perfect Number";
            }
            else
            {
                text2.Text = "Not Perfect number";
            }
 
        }
    }
}
 
Step 4
Run your App.
![Run-the-applicatino.jpg]()
Step 5
Enter a number into the TextBox for determine if it is a Perfect Number.
![output-perfect-number-app.jpg]()
![not-perfect-number.jpg]()